0

我有一个弹出对话框,需要在活动启动时显示。要在启动时启动弹出窗口,我将它放在onStart()上。这工作正常,但它在弹出对话框上显示空白标题。要删除这个,我已经尝试过dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);
但是这个获取和运行时异常。下面是 OnStart() 方法:

@Override
    protected void onStart()
    {
        super.onStart();
        final Dialog dialog = new Dialog(this);
        dialog.setContentView(R.layout.popup_layout);
        dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE); 

        Button mYes = (Button) dialog.findViewById(R.id.button1);
        Button mNo = (Button) dialog.findViewById(R.id.button2);
        mYes.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(), "msg1", Toast.LENGTH_LONG).show();
                finish();

            }
        });
        mMoveToWallet.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Toast.makeText(getApplicationContext(), "msg2", Toast.LENGTH_LONG).show();
                dialog.cancel();

            }
        });

        dialog.show();
    }

例外: android.util.AndroidRuntimeException: requestFeature must be called before adding to the content. 请帮助我。提前致谢。

4

3 回答 3

1

试试这个对话框的属性

final Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar);

删除这个

dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE); 

更新

试试这种风格

final Dialog dialog = new Dialog(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);

更新 2:
将以下样式添加到 style.xml 并在对话框声明中使用它

<style name="NoTitleDialog" parent="android:style/Theme.Dialog">
      <item name="android:windowNoTitle">true</item>
 </style>

这是可以接受的,因为它扩展了 android 的 Theme.Dialog 样式。

于 2013-09-09T09:49:58.417 回答
0
dialog.requestWindowFeature(dialog.getWindow().FEATURE_NO_TITLE);

将此行保留在 setContentView 方法之前。

于 2013-09-09T10:01:48.367 回答
0

试试这个代码,

requestWindowFeature(Window.FEATURE_NO_TITLE);
于 2013-09-09T09:49:56.140 回答