我的listview包含以下xml(list_row.xml)
<?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移动到左侧,实际上我想要显示在右侧。我怎样才能达到这个要求?
答案 0 :(得分:1)
您已尝试过GONE
你试过INVISIBLE
吗?
.setVisibility(View.INVISIBLE);
我明白了。
<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:gravity="right" <!-- ADD THIS -->
android:text="rightItem"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
添加: android:gravity="right"
答案 1 :(得分:1)
<?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>
答案 2 :(得分:1)
相对布局的另一个答案是:
<?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="#dddd"
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="#000"
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:contentDescription="@null"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/txtSubItemName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignWithParentIfMissing="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/rightArrow"
android:text="rightItem"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#000000" />
</RelativeLayout>