0

How can I make textview_item_discounted_price right aligned? Here is my layout file for list elements:

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/imageview_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@color/item_background_color"
    android:contentDescription="@string/hello"
    android:scaleType="matrix" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="0.8"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_code"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false" >
        </TextView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_discounted_price"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>
    </LinearLayout>
</LinearLayout>

<EditText
    android:id="@+id/edittext_quantity"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:focusable="true"
    android:gravity="right"
    android:hint="@string/doc_add_item_quantity_hint"
    android:imeOptions="actionDone"
    android:inputType="numberDecimal"
    android:singleLine="true" >
</EditText>

enter image description here

I solve this with the following way:

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/imageview_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:background="@color/item_background_color"
    android:contentDescription="@string/hello"
    android:scaleType="matrix" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="0.8"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_code"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:textIsSelectable="false" >
        </TextView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_discounted_price"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="right"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>

        <View
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.9" />
    </LinearLayout>
</LinearLayout>

<EditText
    android:id="@+id/edittext_quantity"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:focusable="true"
    android:gravity="right"
    android:hint="@string/doc_add_item_quantity_hint"
    android:imeOptions="actionDone"
    android:inputType="numberDecimal"
    android:singleLine="true" >
</EditText>

Vahan
  • 3,016
  • 3
  • 27
  • 43

3 Answers3

1

Set android:gravity="right" and the text will move to the right of the TextView

android:alignParentRight="true" will move the TextView to the right end of the LinearLayout

TheoKanning
  • 1,631
  • 11
  • 20
  • Then all TextViews will be moved to right,but I want them to stay at the center but become right aligned – Vahan Jan 22 '16 at 04:43
  • The problem is that TextView has android:layout_width="0dp" – Vahan Jan 22 '16 at 04:45
  • Do you want it right-aligned so that it's next to the `EditText`? – TheoKanning Jan 22 '16 at 04:52
  • see my editet screenshot, I want texts to move right to the most big discounted_price – Vahan Jan 22 '16 at 04:57
  • Ohh I see what you mean, would setting the `gravity="right"` and 'alightParentRight="true"` but setting a large right margin work for you? – TheoKanning Jan 22 '16 at 05:03
  • Yes, it can work, if I couldn't find better solution I will to this, thank you – Vahan Jan 22 '16 at 05:07
  • I add my solution in the post, if you are interested you can watch it) – Vahan Jan 22 '16 at 05:33
  • Another option would be to use a `PercentRelativeLayout`. This view lets you define widths relative to the app screen size, so you could put `textview_item_rem"` and `textview_item_discounted_price` inside a `PercentRelativeLayout`, set the layout's width to 50% of parent, and then the discounted price will always be in the middle, no margins required. – TheoKanning Jan 22 '16 at 17:09
0

try out this:

<TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:textIsSelectable="false"
            android:textStyle="italic"
            android:gravity="right" >
        </TextView>
Ahsan Kamal
  • 1,085
  • 2
  • 13
  • 34
0

Check This:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

<ImageView
    android:id="@+id/imageview_icon"
    android:layout_width="40dp"
    android:layout_height="40dp"
    android:contentDescription="hello"
    android:scaleType="matrix" />

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.6"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_code"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false"
            android:textStyle="bold" >
        </TextView>

        <TextView
            android:id="@+id/textview_item_name"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginLeft="5dp"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false" >
        </TextView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textview_item_rem"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>
        ]</LinearLayout>
</LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:layout_weight="0.1"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textview_item_discounted_price"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_weight="1"
            android:gravity="right"
            android:singleLine="true"
            android:text="hello"
            android:textIsSelectable="false"
            android:textStyle="italic" >
        </TextView>
    </LinearLayout>


<EditText
    android:id="@+id/edittext_quantity"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="0.2"
    android:focusable="true"
    android:gravity="right"
    android:hint="quantity_hint"
    android:imeOptions="actionDone"
    android:inputType="numberDecimal"
    android:singleLine="true" >
 </EditText>

</LinearLayout>
</LinearLayout>
Chaudhary Amar
  • 836
  • 8
  • 20