AppCompatActivity作为没有标题的对话框

h.k*_*ari 54 android dialog android-appcompat

我有一个Activity继承自AppCompactActivity.在活动集主题的清单中:

<style name="Theme.custom" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowNoTitle">true</item>
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="colorButtonNormal">@color/accent</item>
    <item name="android:buttonStyle">@style/ButtonStyle</item>
</style>
Run Code Online (Sandbox Code Playgroud)

当我运行活动时,它显示为对话框,但显示标题!我尝试supportRequestWindowFeature(Window.FEATURE_NO_TITLE), RequestWindowFeature(Window.FEATURE_NO_TITLE)但标题仍然显示.请让我知道,有什么问题?


编辑

我解决了,只android:windowNoTitle改为 windowNoTitle!因为我使用的是AppCompactActvity!

gpr*_*our 90

如果您有,AppCompatActivity那么以下将无法正常工作

requestWindowFeature(Window.FEATURE_NO_TITLE);

简单的方法是在style.xml文件中设置它.

<style name="mytheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)

name="windowNoTitle"不是name="android:windowNoTitle"

如果要以编程方式删除它,请添加以下内容 onCreate()

getSupportActionBar().hide();
Run Code Online (Sandbox Code Playgroud)

  • 小心,它是"windowNoTitle"而不是"android:windowNoTitle" (4认同)

Al *_*min 6

AppCompatActivity 与 Activity 不同,有自己的特点。出于同样的目的,您可以简单地使用 -

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看文档

注意:在此之前添加setContentView()以避免崩溃。