【发布时间】:2011-11-29 20:15:57
【问题描述】:
我使用下面的代码创建了一个 Activity 作为一个对话框,我把它放在我的清单中。但问题是它有标题栏,我该如何删除它?
android:theme="@android:style/Theme.Dialog"
【问题讨论】:
-
其行为与对话框相同的Activity
我使用下面的代码创建了一个 Activity 作为一个对话框,我把它放在我的清单中。但问题是它有标题栏,我该如何删除它?
android:theme="@android:style/Theme.Dialog"
【问题讨论】:
如果对话框 ....................
Dailog dialog = new Dialog(MainActivity.this, R.style.mydialogstyle);
res-->values-->mydialog.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="mydialogstyle" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">false</item>
</style>
</resources>
【讨论】:
在创建对话框时使用此代码:
requestWindowFeature(Window.FEATURE_NO_TITLE);
【讨论】:
使用此代码
final Dialog dialog = new Dialog(context);
dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.yourlayout);
dialog.show();
【讨论】:
这对我有用
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="mydialogstyle" parent="android:style/Theme.Dialog">
<item name="android:windowBackground">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
</resources>
还有这个
requestWindowFeature(Window.FEATURE_NO_TITLE);
【讨论】:
Handler _alerthandler = new Handler();
Runnable _alertrunnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
ProfileActivity.this.runOnUiThread(new Runnable() {
public void run() {
// Create custom dialog object
final Dialog dialog = new Dialog(ProfileActivity.this);
// Include dialog.xml file
dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.alertbox);
TextView title = (TextView) dialog
.findViewById(R.id.AlertBox_Title);
title.setText(Appconstant.Toast_Title);
TextView text = (TextView) dialog
.findViewById(R.id.AlertBox_Msg);
text.setText(Appconstant.Toast_Msg);
dialog.show();
Button declineButton = (Button) dialog
.findViewById(R.id.AlertBox_Ok);
// if decline button is clicked, close the custom dialog
declineButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// Close dialog
dialog.dismiss();
}
});
}
});
}
};
【讨论】:
对我来说,以下工作:
<style name="MyActivityDialogTheme" parent="Base.Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
【讨论】:
从扩展 ActionBarActivity 或 AppcompatActivity 的带有对话框主题的 Activity 中删除标题栏
<style name="Theme.MyDialog" parent="@style/Theme.AppCompat.Light.Dialog">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
【讨论】:
对于那些正在使用 AppCompatActivity 的人来说,上面的答案可能不起作用。
试试这个
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
immediately before setContentView(R.layout.my_dialog_activity);
【讨论】:
它对我有用:
在我的自定义对话框活动的 onCreate() 中:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_alert_dialogue);
//your code....
}
清单:
<activity android:name=".AlertDialogue"
android:theme="@style/AlertDialogNoTitle">
</activity>
风格:
<style name="AlertDialogNoTitle" parent="Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
【讨论】: