我有一个关于在Android Studio中设置imageView的高度的问题。我使用Glide从MySQL获取图像。 当我使用高度“wrap_content”时,没有图像值的行可以很好地工作,但是具有图像值的行工作很糟糕,因为图像几乎填满了整个屏幕。当我使用静态值(200dp)设置高度时,它对于具有空值的行非常有效。我使用下面的代码,但它无法解决我的问题。
if (image.equals("")){
int dimensionInDp = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 0, getResources().getDisplayMetrics());
postImage.getLayoutParams().height = dimensionInDp;
postImage.requestLayout(); } else {
int dimensionInDps = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 200, getResources().getDisplayMetrics());
postImage.getLayoutParams().height = dimensionInDps;
postImage.requestLayout();}
代码的结果是所有imageview设置高度为200dp。
我想你需要使用ImageView.setScaleType()并在wrap_content中保留ImageView的宽度和高度。这将使图像自动适合ImageView(FIT_CENTER)或被裁剪(CENTER_CROP)
尝试在xml文件中的imageView中指定minHeight。像这样:
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:minHeight="200dp"
android:src="@drawable/imageView"/>