Search code examples
androidlayoutandroid-linearlayoutcenter

Android linear layout align center and right


This is what I have:

enter image description here

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:background="#FFFFFF">
    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal"
        android:background="#E30000"
        android:layout_gravity="center_horizontal|center_vertical"
        android:gravity="center_horizontal|center_vertical">
        <TextView 
            android:id="@+id/TextView00"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="#FFFFFF"
            android:textSize="20px"
            android:textStyle="bold"
            android:text="Something"
            android:gravity="right|center_vertical"
            />
        <LinearLayout android:id="@+id/LinearLayout01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="horizontal"
            android:gravity="right|center_vertical"
            android:layout_gravity="center_vertical"
            android:background="#E30000">
            <Button 
                android:id="@+id/btnCalls"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawableLeft="@drawable/icon"
                android:gravity="right|center_vertical"
            />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

And I want this:

enter image description here

So horizontal center align the text and vertical center align the button.

What am I missing? I haven't tried RelativeLayout and I would prefer LinearLayout to work this out.


Solution

  • try this one

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout android:id="@+id/LinearLayout01"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:background="#FFFFFF">
        <LinearLayout android:id="@+id/LinearLayout01"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="horizontal"
            android:background="#E30000"
            android:layout_gravity="center_horizontal|center_vertical" 
            android:gravity="center_vertical">
            <TextView 
                android:id="@+id/TextView00"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#FFFFFF"
                android:textSize="20px"
                android:textStyle="bold"
                android:text="Something"
                android:layout_weight="1" 
                android:gravity="center"/>
            <LinearLayout android:id="@+id/LinearLayout01"
                android:layout_height="wrap_content"
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="horizontal"
                android:gravity="right|center_vertical"
                android:layout_gravity="center_vertical"
                android:background="#E30000"                
                android:layout_width="wrap_content">
                <Button 
                    android:id="@+id/btnCalls"
                    android:layout_width="wrap_content"
                    android:drawableLeft="@drawable/icon"
                    android:gravity="right|center_vertical" 
                    android:layout_height="wrap_content" 
                    android:layout_margin="5dip"/>
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>