Android 如何设置listview的行高以适应图像大小
我正在构建一个包含两个ImageView和一个textview的listview。但是我没有得到正确的外观。图标变小或变大,或者行周围有很多空白。如果我将imageview的scaletype更改为居中,图标会变得太小,周围有很多空间。当我将scaletype更改为fitcenter时,图标会变得太大。无论哪种情况,它看起来都很难看。我更改了imageview的布局高度以匹配父视图。多余的空间消失了,但图标变得太小。我使用的是64x64像素的png图像和Nexus7模拟器。我正在粘贴下面的xml文件-Android 如何设置listview的行高以适应图像大小,android,listview,Android,Listview,我正在构建一个包含两个ImageView和一个textview的listview。但是我没有得到正确的外观。图标变小或变大,或者行周围有很多空白。如果我将imageview的scaletype更改为居中,图标会变得太小,周围有很多空间。当我将scaletype更改为fitcenter时,图标会变得太大。无论哪种情况,它看起来都很难看。我更改了imageview的布局高度以匹配父视图。多余的空间消失了,但图标变得太小。我使用的是64x64像素的png图像和Nexus7模拟器。我正在粘贴下面的xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#F6F6F6"
android:orientation="horizontal"
android:weightSum="10" >
<ImageView
android:id="@+id/imgIcon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:layout_marginRight="15dp"
android:layout_marginTop="5dp"
android:layout_weight="3"
android:adjustViewBounds="true"
android:gravity="center_vertical"
android:scaleType="fitCenter" />
<TextView
android:id="@+id/txtTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_weight="6"
android:gravity="center_vertical"
android:textColor="#000000"
android:textSize="18sp"
android:textStyle="bold" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:src="@drawable/arrow_right" />
</LinearLayout>
我很困惑。请帮忙。提前谢谢
我使用了128x128大小的图标,即使这样也无济于事。您需要设置android:minHeight,将其设置为您希望保留每个列表视图项的大小,这样图像就可以正常显示,在您的情况下是64像素高
代码在这里
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minHeight="64dp"
android:background="#F6F6F6"
android:orientation="horizontal"
android:weightSum="10" >
希望它有助于为imageview提供这两个属性, android:minHeight和android:scaleType 例如:
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="1"
android:src="@drawable/arrow_right"
android:minHeight="@dimen/minHeight"
android:scaleType="centerCrop" />
使用此scaletype属性,图像会自动调整到所需高度,而不会发生任何失真。您能否附加图像/屏幕截图以了解您想要的内容请参考这些链接以了解有关ListView的更多信息,但这是一种好方法吗?我的意思是,我将使用不同大小的图标来显示不同密度的屏幕。这将使大小保持静态,意味着我必须为不同的屏幕定义不同的布局。为每个屏幕密度创建列表项,比较并查看相应的内容,尝试使用不同的密度和屏幕大小运行此操作,并查看结果