使用MySQL中的数据以编程方式设置ImageView的高度

问题描述 投票:1回答:2

我有一个关于在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。

android mysql imageview android-glide
2个回答
0
投票

我想你需要使用ImageView.setScaleType()并在wrap_content中保留ImageView的宽度和高度。这将使图像自动适合ImageView(FIT_CENTER)或被裁剪(CENTER_CROP)


0
投票

尝试在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"/>
© www.soinside.com 2019 - 2024. All rights reserved.