如何设置android中布局的宽度,延伸到相对于右边框的点?

时间:2012-04-26 22:30:22

标签: java android listview android-layout

我有一个列表视图,左侧是一个小文本视图和一个长文本视图(两者都有不同的文本),最右边是一个图像视图。问题是,当长文本视图变得太长时,它会在包装到第二行之前压缩右侧的图像视图。由于两个文本视图在每一行中都有不同的长度,因此我无法为其长度设置修复dp值。如果imageview没有被压缩,我该怎么办?

PS:我在listview中创建行如下:

<TextView
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10sp"
android:layout_gravity="center_vertical"/>

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="12sp"
android:layout_gravity="center_vertical"/>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ImageView
android:id="@+id/image"
android:layout_width="45dp" 
android:layout_height="45dp"
android:layout_alignParentRight="true"
android:focusable="false"/>

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

添加android:toLeftOf =&#34; @ + id / image&#34;到您的TextViews。您可能需要将TextViews的layout_width设置为fill_parent。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TextView
android:id="@+id/info"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="10sp"
android:toLeftOf="@+id/image"
android:layout_gravity="center_vertical"/>

<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="12sp"
android:toLeftOf="@+id/image"
android:layout_gravity="center_vertical"/>

<ImageView
android:id="@+id/image"
android:layout_width="45dp" 
android:layout_height="45dp"
android:layout_alignParentRight="true"
android:focusable="false"/>

</RelativeLayout>