gpt4 book ai didi

android - 如何在 GridView 中以正常大小显示一组图像

转载 作者:行者123 更新时间:2023-11-30 04:00:05 25 4
gpt4 key购买 nike

如果我有一组相同大小的图像 211px x 165px ,如何使用 GridView 显示它们并保持高度和宽度之间的原始比例。需要在每行中显示两个项目。我已经可以做到这一点,但图像看起来垂直拉伸(stretch)。这是我得到的截图。请注意 gridview 单元格比图像大 enter image description here

gridview 布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical" >

<include
android:id="@+id/include1"
layout="@layout/header" />
<GridView
android:id="@+id/gvCategory"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="0dp"
android:background="@drawable/bg"
android:gravity="right"
android:horizontalSpacing="5dp"
android:numColumns="2"
android:padding="0dp"
android:verticalSpacing="5dp" >
</GridView>

</LinearLayout>

GridView 单元格布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/include21nh"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >

<FrameLayout
android:id="@+id/include21"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn"
android:padding="5dp" >

<ImageView
android:id="@+id/imgCategoryImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scaleType="centerInside"
android:src="@drawable/img1" />

<TextView
android:id="@+id/txtCategoryName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_gravity="bottom"
android:background="@drawable/transparent_fading"
android:gravity="right"
android:padding="15dp"
android:text="Crispy Chicken and Sandwich"
android:textColor="#ffffff"
android:textSize="17sp" />

</FrameLayout>

</LinearLayout>

最佳答案

您应该在 ImageView 中使用 android:scaleType="centerInside" 属性来代表您的 GridView 中的项目。正如文档所说:

CENTER_INSIDE - Scale the image uniformly (maintain the image's aspect ratio) so that both dimensions (width and height) of the image will be equal to or less than the corresponding dimension of the view (minus padding).

您可以找到更多信息 here .希望这会有所帮助。

关于android - 如何在 GridView 中以正常大小显示一组图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12642399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com