我有一个弹出对话框,需要在活动启动时显示。要在启动时启动弹出窗口,我已将其放置在 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 方法之前保留此行。