7

AlertDialog を作成しています。次のように作成する場合:

AlertDialog.Builder builder = AlertDialog.Builder((RelationActivity)getContext());
builder.setMessage("No relations found.");
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {       
    public void onClick(DialogInterface dialog, int id) {
        ((RelationActivity)getContext()).finish();
    }
});
builder.create();
builder.show();

これが結果です: http://www.oze.com.br/1.png

しかし、テーマを設定しようとすると、次のようになります。

AlertDialog.Builder builder = new AlertDialog.Builder(((RelationActivity)getContext()), android.R.style.Theme_Holo_Light_Dialog);

これが結果です: http://www.oze.com.br/2.png

この問題について誰か助けてください。テーマを使用すると、テーマが警告ダイアログを「囲む」ように見えます。

4

2 に答える 2

10

Theme.Holo.Lightのようなアラートダイアログに別のテーマを設定するには、AndroidソースのDialog.javaで使用されているContextThemeWrapperを使用してみてください。

builder = new AlertDialog.Builder(new ContextThemeWrapper(this, android.R.style.Theme_Holo_Light_Dialog))
于 2012-10-14T21:18:18.060 に答える
9

元の回答のリンクはこちら

クイック リファレンスとして
、v7 ライブラリandroid.support.v7.app.AlertDialogを使用したテーマをここに投稿しています。

android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder(this,R.attr.alertDialogTheme);

android.app.AlertDialogのコンストラクタを持つテーマ

android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this,AlertDialog.THEME_HOLO_LIGHT );

しかし、新しいドキュメントによると、
この定数 (AlertDialog.THEME_HOLO_LIGHT) は API レベル 23 で廃止されました。Theme_Material_Light_Dialog_Alert を使用します。

 android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this,android.R.style.Theme_Material_Light_Dialog_Alert );
于 2015-10-28T06:33:27.403 に答える