如何设置文本对齐?

How set Text Align?

我希望TextView在下图中的红线而不是三个蓝色文本视图的起始行结束。

如何?

layout.xml

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="49dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_margin="20dp"
android:id="@+id/relative">

<ImageView
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:background="@drawable/progress"
    android:id="@+id/imageView"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:text="Progress"
    android:id="@+id/textView"
    android:autoText="false"
    android:textColor="#1A237E"
    android:textSize="@dimen/abc_dialog_padding_top_material"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/textView2"
    android:layout_toEndOf="@+id/textView2"
    android:gravity="center" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text=" absolute"
    android:id="@+id/textView2"
    android:textIsSelectable="true"
    android:textSize="@dimen/abc_action_bar_icon_vertical_padding_material"
    android:textColor="#FF6D00"
    android:gravity="center"
    android:layout_alignBottom="@+id/above"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/above"
    android:paddingBottom="10dp"

    android:background="#ffd8f1ff"
    android:padding="5dp"
    android:layout_below="@+id/textView"
    android:layout_alignRight="@+id/textView"
    android:layout_alignEnd="@+id/textView"
    android:layout_gravity="right"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text=" percentage"
    android:id="@+id/textView4"
    android:textSize="@dimen/abc_action_bar_icon_vertical_padding_material"
    android:textColor="#FF6D00"
    android:gravity="center"
    android:layout_below="@+id/textView2"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/below"
    android:paddingTop="10dp"
    android:background="#ffd8f1ff"
    android:padding="5dp"
    android:layout_below="@+id/above"
    android:layout_alignLeft="@+id/above"
    android:layout_alignStart="@+id/above"
    android:layout_gravity="right" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:text=" goal"
    android:id="@+id/textView5"
    android:textSize="@dimen/abc_action_bar_icon_vertical_padding_material"
    android:textColor="#FF6D00"
    android:gravity="center"
    android:layout_below="@+id/textView4"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/goal"
    android:paddingTop="10dp"
    android:background="#ffd8f1ff"
    android:padding="5dp"
    android:layout_below="@+id/below"
    android:layout_alignLeft="@+id/below"
    android:layout_gravity="right"
    android:layout_alignParentLeft="false" />

提前致谢。

在您的情况下,这与我通常设置的不同。但在这种情况下,添加

更容易
 <View
        android:layout_width="0dp"
        android:layout_alignRight="@+id/textView"
        android:layout_alignEnd="@+id/textView"
        android:id="@+id/holder"
        android:layout_height="0dp"/>

然后为您想要右对齐的视图添加

android:layout_toLeftOf="@+id/holder"

相反,您可以将这两个水平 TextView 放在 LinearLayout 并设置 LinearLayout 低于百分比的 TextView。这样做您可以通过对齐 TextView 获得更多的可定制性。

首先,将三个蓝色 TextView 与 Progress TextView 右对齐。这样,所有蓝色的 TextView 都将右对齐。然后,不使用 layout_gravity=right,而是使用 gravity=right。这将使蓝色 TextView 中的文本右对齐。最后把所有蓝色的TextView都设为to_rightOftextview4,也就是最长的TextView。进行这些调整将使布局看起来像这样:

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relative"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_margin="20dp"
android:layout_marginTop="49dp">

<ImageView
    android:id="@+id/imageView"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"/>

<TextView
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_alignParentTop="true"
    android:layout_toEndOf="@+id/textView2"
    android:layout_toRightOf="@+id/textView2"
    android:autoText="false"
    android:gravity="center"
    android:text="Progress"
    android:textColor="#1A237E"
    android:textSize="@dimen/abc_dialog_padding_top_material"/>

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_alignBottom="@+id/above"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:gravity="center"
    android:text=" absolute"
    android:textColor="#FF6D00"
    android:textIsSelectable="true"
    android:textSize="@dimen/abc_action_bar_icon_vertical_padding_material"/>

<TextView
    android:id="@+id/above"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/textView"
    android:layout_alignRight="@+id/textView"
    android:layout_below="@+id/textView"
    android:layout_marginLeft="5dp"
    android:layout_toRightOf="@+id/textView4"
    android:background="#ffd8f1ff"
    android:gravity="right"
    android:padding="5dp"
    android:paddingBottom="10dp"
    android:text="18%"
    />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/textView2"
    android:gravity="center"
    android:text=" percentage"
    android:textColor="#FF6D00"
    android:textSize="@dimen/abc_action_bar_icon_vertical_padding_material"/>

<TextView
    android:id="@+id/below"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/above"
    android:layout_alignRight="@+id/textView"
    android:layout_alignStart="@+id/above"
    android:layout_below="@+id/above"
    android:background="#ffd8f1ff"
    android:padding="5dp"
    android:paddingTop="10dp"
    android:text="12.4%"
    />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="30dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_below="@+id/textView4"
    android:gravity="center"
    android:text=" goal"
    android:textColor="#FF6D00"
    android:textSize="@dimen/abc_action_bar_icon_vertical_padding_material"/>

<TextView
    android:id="@+id/goal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/below"
    android:layout_alignParentLeft="false"
    android:layout_alignRight="@id/textView"
    android:layout_below="@+id/below"
    android:background="#ffd8f1ff"
    android:gravity="right"
    android:padding="5dp"
    android:paddingTop="10dp"
    android:text="0%"/>