【发布时间】:2013-11-07 13:08:23
【问题描述】:
我有一个以这种方式定义的ListView 项目(列表的单行):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip" >
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_marginRight="6dip"
android:contentDescription="TODO"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/secondLine"
android:layout_width="fill_parent"
android:layout_height="26dip"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/icon"
android:ellipsize="marquee"
android:singleLine="true"
android:text="Author"
android:textSize="12sp" />
<TextView
android:id="@+id/firstLine"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@id/secondLine"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_alignWithParentIfMissing="true"
android:layout_toRightOf="@id/icon"
android:gravity="center_vertical"
android:text="Title"
android:textSize="16sp" />
</RelativeLayout>
如您所见,我有两个TextViews 和一个ImageView。 firstLine 视图可以是多行的。问题是当我有不止一行时它没有包装内容。
当 firstLine 高度改变时,单行的高度应该改变,并且 ImageView 应该始终在行中居中,即使它的高度发生变化。如何做到这一点?
【问题讨论】:
-
您是否有实际将行膨胀到列表视图中的代码?我的猜测是您没有将容器传递到您的 LayoutInflater 中,因此它不知道如何相对于容器布局行项目。
-
文本视图是因为行高太小而被截断,还是只是不断地离开屏幕一侧?
标签: android xml listview height