Question

In my application i used activity with dialog theme for displaying a message. I like to align the activity to center of the screen. But activity is not centered horizontally. How to achieve this.

Code is tried as follow

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.callinfo);

        WindowManager.LayoutParams wmlp = getWindow().getAttributes();
        wmlp.width = LayoutParams.MATCH_PARENT;
        wmlp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL;

        String incomingNumber = getIntent().getStringExtra("incomingNumber");
        TextView tvNumber = (TextView)findViewById(R.id.Number);
        tvNumber.setText(incomingNumber);

        new Handler().postDelayed(new Runnable(){
            public void run() {
                finish();                    
            }                   
        }, 60 *1000);
    }

screen shot of current situation

enter image description here

xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/layout_bg"
        android:layout_margin="10dp"
        android:orientation="vertical" >

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

            <ImageView
                android:id="@+id/optrlogo"
                android:padding="5dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                />

            <LinearLayout
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:orientation="vertical">

                <!-- line 1 -->
                <TextView
                    android:id="@+id/Number"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="15sp"
                    android:textColor="@android:color/black"
                    android:text="-" />

                <!-- line 2 -->
                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/CType"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:layout_weight="1"
                        android:textColor="@android:color/black"
                        android:gravity="left"
                        android:text="-"/>

                    <TextView
                        android:id="@+id/Optr"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:textSize="12sp"
                        android:textColor="@android:color/black"
                        android:layout_weight="1"
                        android:gravity="right"
                        android:text="-" />

                </LinearLayout>
                <!-- line 3 -->
                <TextView
                    android:id="@+id/Location"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:textSize="10sp"
                    android:textColor="@android:color/black"
                    android:gravity="left"
                    android:text="-" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>
Was it helpful?

Solution

Simple that, Gravity set centre only like that:

 wmlp.gravity = Gravity.CENTER_HORIZONTAL | Gravity.CENTER_VERTICAL;

replace with

wmlp.gravity = Gravity.CENTER;

Also change that:

wmlp.width = LayoutParams.MATCH_PARENT;

to

wmlp.width = LayoutParams.WRAP_CONTENT;

xml file

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="10dp"
    android:background="@drawable/layout_bg"
    android:layout_gravity="center"
    android:orientation="vertical" >

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

        <ImageView
            android:id="@+id/optrlogo"
            android:padding="5dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            />

        <LinearLayout
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:orientation="vertical">

            <!-- line 1 -->
            <TextView
                android:id="@+id/Number"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:textColor="@android:color/black"
                android:text="-" />

            <!-- line 2 -->
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <TextView
                    android:id="@+id/CType"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:layout_weight="1"
                    android:textColor="@android:color/black"
                    android:gravity="left"
                    android:text="-"/>

                <TextView
                    android:id="@+id/Optr"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textSize="12sp"
                    android:textColor="@android:color/black"
                    android:layout_weight="1"
                    android:gravity="right"
                    android:text="-" />

            </LinearLayout>
            <!-- line 3 -->
            <TextView
                android:id="@+id/Location"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:textSize="10sp"
                android:textColor="@android:color/black"
                android:gravity="left"
                android:text="-" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top