Reputation: 4470
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
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>
Upvotes: 1
Views: 1469
Reputation: 1177
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>
Upvotes: 4