将一些资源设置为imageview时,如何获得正确尺寸的图像?

时间:2016-01-20 04:12:54

标签: android gridview imageview

我希望将一些项目放入gridview,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llBg"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:orientation="vertical"
    android:paddingBottom="40dp" >

<ImageView
    android:id="@+id/mudImg"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:scaleType="fitCenter"
    android:src="@drawable/icon_m0_r"
    android:visibility="visible" />

<TextView
    android:id="@+id/mudTitle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:layout_marginTop="8dp"
    android:gravity="center"
    android:text="fsafdsf"
    android:textColor="@color/white"
    android:textSize="16dp" />

</LinearLayout>

虽然'mudImg'部分在真正的Android机器上的图像大小有问题。实际上它永远不会工作我设置一个确实num为'layout_width'和'layout_height'像'50dp'或类似的东西。   我想要的是显示原始尺寸图像,如果需要,可以扩展到父视图留给它的大小。 现在我的解决方案是用app屏幕参数(高度宽度)和父视图的边距和gridview的numColumns计算图像大小,并按代码设置结果(因为不能在xml中执行) 还有什么好主意吗?

1 个答案:

答案 0 :(得分:0)

试试ImageView

<ImageView
    android:id="@+id/mudImg"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:src="@drawable/icon_m0_r"
    android:visibility="visible" />

adjustViewBounds="true"告诉ImageView设置高度,以便图片使用给定的宽度具有正确的宽高比。