どのように私は、ダイアログのヘッダーレイアウトをカスタマイズすることができます

StackOverflow https://stackoverflow.com/questions/1935257

質問

アンドロイドでは、ヘッダのレイアウト(アイコン+テキスト)ダイアログのレイアウトをカスタマイズすることができますか?または私はちょうどタイトルテキストのカスタム文字列値を設定することができますか?

ありがとうございます。

役に立ちましたか?

解決

これは、ダイアログとヘッダの両方のためのカスタムレイアウトを設定した場合、ダイアログのヘッダーを変更することが可能です。私は今まで全くヘッダを削除するには、このメソッドを使用しましたが、これは、カスタムヘッダーのために働くべきます:

dialog = new Dialog(context);
Window window = dialog.getWindow();
window.requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
dialog.setContentView(R.layout.my_dialog_layout);
window.setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.my_custom_header);

(あなたが同様のセットアップにダイアログのレイアウトを持っているように)これは、すべての少し複雑ですが、それはダイアログをサブクラス化するよりも簡単です。

他のヒント

オリジナルのダイアログクラスは、アイコンを設定する能力を欠いているようだが、あなたは簡単にAlertDialogを拡張して、あなたはこのようなものが必要(あなたのダイアログインスタンスのために使用するのと同じ)をカスタムビューを設定することができます。

 class MyDialog extends AlertDialog {
     public MyDialog(Context ctx) {
        super(ctx);
        LayoutInflater factory = LayoutInflater.from(context);
        View view = factory.inflate(R.layout.dialog_layout, null);
        setView(view);
        setTitle("MyTitle");
        setIcon(R.drawable.myicon);
     }
 }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top