Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在GridView上保持背景的纵横比_Java_Android_Gridview - Fatal编程技术网

Java 在GridView上保持背景的纵横比

Java 在GridView上保持背景的纵横比,java,android,gridview,Java,Android,Gridview,我在GridView上有一个图像作为背景,我希望它保持其纵横比。 我希望它与手机的高度相匹配,并使用与纵横比相匹配的宽度 以下是当前代码: <GridView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gridview" android:scaleType="centerInside" android:background="@drawable/gytbg" android:la

我在GridView上有一个图像作为背景,我希望它保持其纵横比。 我希望它与手机的高度相匹配,并使用与纵横比相匹配的宽度

以下是当前代码:

<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/gridview"
android:scaleType="centerInside"
android:background="@drawable/gytbg"
android:layout_width="fill_parent" 
android:layout_height="fill_parent"
android:columnWidth="10dp"
android:numColumns="2"
android:verticalSpacing="20dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>

这应该使图像适合GridView的高度,保持纵横比,并裁剪剩余宽度(除非高度匹配时图像的宽度小于GridView的宽度)

例如

如果网格视图的宽度为400dp,高度为800dp

600 x 600的图像将适合高度,然后裁剪剩余宽度

但是,如果GridView是横向的(宽度为400dp,高度为300dp),则600 x 600的图像将适合宽度,然后裁剪高度

如果您只想让它适合高度(假设高度可能会以编程方式更改或由于不同设备的屏幕而更改),我建议将图像设置得更宽,以便即使在显示具有非常宽的纵横比的GridView时,它也会选择适合高度,并裁剪宽度

android:scaleType="centerCrop"