ダイアログはパディングが10dpiに設定されているアクティビティからスタイルを継承するため、ダイアログのカスタムスタイルを設定しようとしています。しかし、私が試したことはすべて失敗しました:)。
スタイル:
<style name="ActivityStyle" parent="@android:style/Theme.Holo.NoActionBar">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:padding">10dp</item>
</style>
ダイアログスタイル:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="5dip"
android:orientation="horizontal" >
<TextView
android:layout_width="70dip"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:text="@string/CreateRoomDialog_textName"
android:textColor="#FFFFFF"
android:textSize="14sp" />
<EditText
android:id="@+id/CreateRoomDialog_fieldName"
android:layout_width="0dip"
android:layout_height="38dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_weight="1"
android:inputType="text"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="70dip"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:text="@string/CreateRoomDialog_textPwd"
android:textColor="#FFFFFF"
android:textSize="14sp" />
<EditText
android:id="@+id/CreateRoomDialog_fieldPwd"
android:layout_width="0dip"
android:layout_height="38dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_weight="1"
android:inputType="textPassword"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="2dip"
android:paddingRight="2dip"
android:paddingTop="4dip" >
<Button
android:id="@+id/CreateRoomDialog_btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_weight="1"
android:text="@android:string/cancel" />
<Button
android:id="@+id/CreateRoomDialog_btnOK"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_weight="1"
android:text="@android:string/ok" />
</LinearLayout>
</LinearLayout>
カスタムダイアログコンストラクター:
public CreateRoomDialog(Context c, boolean isNew) {
super(c); - I tried put style here, but no success.
this.c = c;
this.isNew = isNew;
this.setTitle(c.getString(R.string.CreateRoomDialog_addData));
setContentView(R.layout.createroomdialog);
}
パディングを使用すると、次のようになります。
パディングダイアログがなくても問題ありませんが、アクティビティは次のことを行いません。