'Theme.Holo.Light.Dialog'から継承したカスタムテーマを作成しました。Android - カスタムダイアログのカスタムテーマの指定AlertDialog.Builderはダイアログ内でコンテンツをラップします
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="cust_dialog" parent="@android:style/Theme.Holo.Light.Dialog">
</style>
</resources>
マイコード:
private AlertDialog testDialog;
AlertDialog.Builder testBuilder;
LayoutInflater inflater = (LayoutInflater)this.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.test_dialog,
(ViewGroup) findViewById(R.id.test_root));
testBuilder = new AlertDialog.Builder(this, R.style.cust_dialog);
testBuilder.setView(layout);
testBuilder.setTitle("Support");
testDialog = testBuilder.create();
testDialog.show();
これは私のダイアログは、ダイアログ内にあることが原因となります。これをどうやって解決するのですか?
ありがとうございました。
EDIT ::::
これは私のtest_dialog.xmlレイアウトです:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/test_root"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/test1"
android:layout_width="300dp"
android:layout_height="75dp"
android:text="@string/test"
android:gravity="center" />
<Button
android:id="@+id/test2"
android:layout_width="300dp"
android:layout_height="75dp"
android:text="@string/test"
android:layout_below="@id/test1"
android:gravity="center" />
</RelativeLayout>
多分あなたの 'R.layout.test_dialog'には単なるコンテンツ以上のものがありますか? 'setView()': "カスタムビューをダイアログの内容に設定する"ここにダイアログレイアウト全体を追加すると、ダイアログ内にダイアログが表示されます。 – zapl
私はtest_dialogレイアウトxmlを追加しました。私はそこに2つのボタンを持っているものは何もない。 – CLDev
膨張中に指定したルート要素が原因である可能性があります。単に 'View layout = inflater.inflate(R.layout.test_dialog、null);で試してみてください。そうしないと、レイアウトが膨らんでしまいます。 – zapl