如何在没有imageview的情况下对齐文本?
我有下面的XML(list_row.xml)列表视图如何在没有imageview的情况下对齐文本?
<?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>
您已尝试过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"
,但它不设置文本右对齐。我想在箭头不可见的情况下将文本右对齐。 – user2060383
@ user2060383答案已编辑。 –
没有,它没有工作,结果相同:( – user2060383
与相对布局另一个答案是:
<?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>
在这种情况下,它只会隐藏箭头图像
你正在** LinearLayout中使用** RelativeLayout特定的**属性... ???请参阅:http:// www .tutorialspoint.com/android/android_relative_layout.htm –
这将显示在lint警告和其余的东西取决于user2060383。user2060383应该用他/她的大脑来克服这些小问题 –
...“小问题”。你是否直接写出正确的答案?新用户可能会感到困惑。 –