Error
Error

Reputation: 830

How set Text Align?

I want TextView to end at red Line in picture below instead of start line of three blue textviews .

How ?

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 in advance .

Upvotes: 0

Views: 70

Answers (3)

WindsurferOak
WindsurferOak

Reputation: 4907

First, right align your three blue TextViews with the Progress TextView. That way, all the blue TextViews will be right aligned. Then, instead of using layout_gravity=right, use gravity=right. That will right align the text within the blue TextViews. Finally, make all the blue TextViews be to_rightOf textview4, which is the longest TextView. Doing these adjustments will make the layout look like this:

Layout after adjustments

Here's the code:

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

Upvotes: 2

Ashley Alvarado
Ashley Alvarado

Reputation: 1068

In your case this was different than what I normally set it up. But in this case its easier to add

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

and then for the views you want to align to the right side add

android:layout_toLeftOf="@+id/holder"

Upvotes: 0

bispul
bispul

Reputation: 21

Instead you can put those two horizontal TextView inside a LinearLayout and set the LinearLayout below the percentage's TextView. Doing this you can have more customizability with the alignment of the TextView.

Upvotes: 0

Related Questions