2015-09-16 51 views
0

我想要TextView以下圖中紅線結束,而不是三個藍色文字查看的起始行。如何設置文本對齊?

怎麼樣?

enter image description here

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" /> 

thanx提前。

+0

你的問題有點不清楚。你在說什麼TextView?你想讓三個藍色的TextView在紅色垂直線上結束嗎? – WindsurferOak

+1

是的,這是問題,我想要從左到右改變文本的方向 – Error

回答

2

首先,將您的三個藍色TextView與Progress TextView對齊。這樣,所有的藍色TextViews將被對齊。然後,而不是使用layout_gravity=right,使用gravity=right。這將正確對齊藍色TextView中的文本。最後,讓所有藍色的TextViews成爲最長的TextView,即textview4 to_rightOf。做這些調整將使佈局是這樣的:

Layout after adjustments

下面的代碼:

<?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%"/> 

+0

我沒有調整填充,所以你將不得不刪除正確的填充,使其完全完美。 – WindsurferOak

0

在你的情況下,這是不同於我通常設置它。但在這種情況下,它更容易添加

<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" 
+0

沒有資源發現匹配layout_toLeftOf =「@ + id/holder」,儘管id在textview和view中是相同的我想要對齊 – Error

+0

我剛剛注意到循環依賴,好的,我改變了它。你將需要刪除一些當前的路線。 –

0

相反,你可以把那兩個水平的TextView一個 的LinearLayout和組內LinearLayout低於百分比的TextView。這樣做可以使TextView的對齊方式具有更多的可定製性。