android - 没有 ImageView 时如何正确对齐文本?

标签 android

我有带有以下 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/

相关文章:

android - ImageView 中的 ScaleType 不工作

java - 如何通过标签识别EditText

android - 在 Android 聊天应用程序中看到的功能

Android:将动画应用于 View 会创建 RuntimeException

android - Google Play - 确认订阅的购买 token 时出现错误 "subscriptionNotOwnedByUser"

java - 具有重复工具栏的 Activity

android - 为每个实例执行 initstate

java - Android 地理围栏不触发 IntentService

java - 如何让flatMap在后台线程执行

java - android.intent.action.CALL_PRIVILEGED 是否需要系统权限?