在活动启动时隐藏对话框标题



我有一个弹出对话框,需要在活动启动时显示。要在启动时启动弹出窗口,我已将其放置在 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.请帮我解决这个问题。提前谢谢。

试试对话框的这个属性

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:
将以下样式添加到样式中.xml并在对话框声明
中使用它

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

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

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

在 setContentView 方法之前保留此行。

最新更新