我正在使用自定义对话框样式删除白色边框。为此,我创建了一个继承自Theme.Dialog的自定义样式,并在对话框构造函数中设置它。当没有设置任何样式时(我猜它默认使用Theme.Dialog),对话框水平和垂直居中,但是当我使用我的样式时,它只是重写android:windowBackground,我的对话框不再居中,所以看起来似乎风格不是继承的......
有人可以帮忙吗?
谢谢!
我的风格:
<resources>
<style
name="Theme_Dialog_Translucent"
parent="@android:style/Theme.Dialog">
<item name="android:windowBackground">@color/transparent</item>
</style>
</resources>
我的课程:
public class CustomDialog extends Dialog implements OnClickListener {
Button okButton;
public CustomDialog(Context context) {
//super(context); //if I use that the dialog is centered
super(context, R.style.Theme_Dialog_Translucent);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.custom_dialog);
okButton = (Button) findViewById(R.id.button_ok);
okButton.setOnClickListener(this);
}
...
}
我的布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/confirmation"
android:orientation="vertical"
android:background="@drawable/dialog_background"
android:layout_width="279dp"
android:layout_height="130dp"
>
<TextView android:id="@+id/dialog_title"
android:text="@string/dialog_title"
android:textColor="#FFF"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
<TextView android:id="@+id/dialog_text"
android:text="@string/dialog_text"
android:textColor="#FFF"
android:layout_height="wrap_content"
android:layout_width="match_parent"/>
<LinearLayout android:id="@+id/confirmation"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button android:id="@+id/button_ok"
android:background="@drawable/button_ok"
android:layout_width="128dp"
android:layout_height="43dp"
android:text="ok"
android:textColor="#FFFFFF"
/>
<Button android:layout_width="128dp"
android:id="@+id/button_cancel"
android:layout_height="43dp"
android:background="@drawable/button_cancel"
android:text="cancel"
android:textColor="#FFFFFF"
/>
</LinearLayout>
</LinearLayout>