如何调整Android ListView行高

5

列表项高度太大。我这样设计行项目。这是ListViewItem Layout axml文件。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/list_style"
    android:gravity="center_horizontal"
    android:minWidth="25px"
    android:minHeight="25px">
  <TextView
      android:text="Text"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:id="@+id/forecastName"
      android:gravity="center_vertical"
      android:padding="10px" 
      android:textColor="@color/black"/>
</LinearLayout>

这是Listview的布局。
   <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
             android:orientation="vertical"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:background="@drawable/list_style"
             android:minWidth="25px"
             android:minHeight="25px">
             <ListView
                 android:layout_width="fill_parent"
                 android:layout_height="wrap_content"
                 android:id="@+id/forecast"
                 android:divider="@drawable/separator"
                 android:dividerHeight="3px" />
         </LinearLayout>

应用程序启动时,列表视图项目具有一定的高度,但与文本视图大小不匹配。如何调整行高度?


尝试通过在row_layout中为textview设置高度来实现。 - Top Cat
http://richwebmobile.blogspot.com/2012/09/android-difference-between-sp-dp.html?m=1 - Top Cat
4个回答

6

在行布局 XML 中,您可以简单地提供固定的高度:

android:layout_height="25dp"

另外需要说明的一点:在设置视图尺寸时,始终使用dp(或者dip),而不是px


3

除了前面的回答外,您还可以删除 android:minWidthandroid:minHeight,以允许行包装文本,或者您可以设置所需的高度。

Android 为列表项高度设置了默认值。

android:height="?android:attr/listPreferredItemHeight"

1
问题是背景图片尺寸。我使用了来自背景的图像。android:background="@drawable/list_style"因此我改变了图像的大小。谢谢。

0
如果行比预期的要大,那可能是由于android:minWidth和android:minHeight的设置。尝试移除这些属性。
我看到你在使用px作为单位,不建议这样做。你应该使用dp而不是px,除了文本大小。对于文本大小,建议使用sp。
没有截图,这就是我得到的所有信息。如果有帮助,请告诉我。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接