2015-09-16 2 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" /> 

спасибо заранее.

+0

Ваш вопрос немного неясно. О чем TextView вы говорите? Вы хотите, чтобы три синих TextViews заканчивались красной вертикальной линией? – WindsurferOak

+1

да, это проблема, я хочу изменить направление текста слева направо – Error

ответ

2

Сначала выровняйте три синих TextViews с помощью Progress TextView. Таким образом, все синие TextViews будут выровнены по правому краю. Затем, вместо использования layout_gravity=right, используйте gravity=right. Это приведет к выравниванию текста внутри синего TextViews. Наконец, сделайте все синие TextViews to_rightOf textview4, который является самым длинным TextView. Выполнение этих регулировок будет сделать макет выглядеть следующим образом:

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

Я не настраивал paddings, поэтому вам нужно будет удалить правые прокладки, чтобы они были полностью идеальными. – 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", хотя идентификатор одинаковый в текстовом представлении, и я хочу совместить с – Error

+0

Я только что заметил зависимость цикла, нормально, я изменил ее. И вам нужно будет удалить некоторые текущие выравнивания. –

0

Вместо этого вы можете поместить эти два горизонтальных TextView внутри LinearLayout и набор LinearLayout под текстовым изображением в процентах. При этом вы можете иметь большую настраиваемость с выравниванием TextView.

Смежные вопросы