我有带有以下 xml ( list_row.xml ) 的 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="wrap_content"
android:background="@color/settings_list_item"
android:baselineAligned="false"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtItemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:text="@string/settings_item_1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<TextView
android:id="@+id/txtSubItemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/rightArrow"
android:text="rightItem"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<ImageView
android:id="@+id/rightArrow"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:contentDescription="@null"
android:src="@drawable/ic_arrow" />
</RelativeLayout>
现在这会在 >
图像之前显示 rightItem
。但有时我不想显示右箭头,在这种情况下,如果我将它的可见性设置为 gone
然后我的 Textview 移动到左侧,实际上我想显示在完全右侧。我怎样才能完成这个要求?
最佳答案
<?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="wrap_content"
android:background="#dddd"
android:baselineAligned="false"
android:descendantFocusability="blocksDescendants"
android:gravity="center_vertical"
android:orientation="horizontal" >
<TextView
android:id="@+id/txtItemName"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="#000"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<TextView
android:id="@+id/txtSubItemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/rightArrow"
android:text="rightItem"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
<ImageView
android:id="@+id/rightArrow"
android:layout_width="50dip"
android:layout_height="50dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:contentDescription="@null"
android:src="@drawable/ic_launcher" />
</LinearLayout>
关于android - 没有 ImageView 时如何正确对齐文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24118005/