2

AlertDialog を表示する別のクラスを作成しようとしています。問題は、Activity を拡張するクラスを作成し、Activity で Dialog を作成すると、背景が透明ではなく黒くなることです。利用した:

android:theme="@android:style/Theme.Translucent.NoTitleBar"

私のマニフェストでは、タイトルと背景が削除されていますが、ダイアログを作成したときと同じ外観になりません。これが私のコードです:

public class ConfirmDialog extends Activity{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Creo el dialogo
        AlertDialog.Builder alert = new AlertDialog.Builder(this);
        alert.setTitle(getString(R.string.AnalyzerDialogSaveTitle));
        alert.setMessage(getString(R.string.AnalyzerDialogFileName));

        // Creamos un EditView para que el usuario escriba
        final EditText input = new EditText(this);
        alert.setView(input);
        alert.show();

    }

}

また、Activity の代わりに AlertDialog と Dialog を拡張しようとしましたが、ボタンを押したときに setResult() を使用して onActivityResult() を呼び出すことができず、startActivityForResult() を使用して呼び出すこともできません。

実際のダイアログを取得するにはどうすればよいですか (AlertDialog クラスを使用するときのように見えないためテーマ化されていません)、startActivityForResult を使用してそれを呼び出しますか?

ありがとうございました :)

- - - 編集 - - -

私も Theme.Dialog を試しましたが、同じ外観が得られないのと同じです。これが私が意味することです:

Androidアラートダイアログ

Androidアラートダイアログ

Theme.Dialog または Theme.Traslucent.NoTitleBar

Theme.Dialog または Theme.Traslucent.NoTitleBar

ご覧のとおり、得られる外観は同じではありません。

4

1 に答える 1

0

アクティビティをダイアログとして表示するには、Theme.Translucent.NoTitleBar の代わりに android:theme="@android:style/Theme.Dilalog" を使用します。

于 2012-10-11T04:56:15.900 に答える