【问题标题】:Android dialog theme makes setContentView crash the applicationAndroid 对话框主题使 setContentView 使应用程序崩溃
【发布时间】:2017-03-08 13:55:28
【问题描述】:

我正在应用清单中的这个主题:

    <activity
        android:name=".ui.rate.MyActivity"
        android:theme="@android:style/Theme.Dialog">
    </activity>

这样,应用程序在 MyActivity 的 setContentView() 上崩溃。如果我删除它没有崩溃,但我需要这个主题

在 onCreate() 活动中,我正在这样做:

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.activity_rate);
    getWindow().setBackgroundDrawableResource(android.R.color.transparent);

即使我删除了第一行和第三行,应用程序也会以同样的方式崩溃。确实是对话框主题导致了崩溃

我如何设置它以便 Android 接受它?

【问题讨论】:

  • 我不能将它重构为一个对话框,它需要保持为一个 Activity。
  • 没有日志应用程序只是崩溃而没有错误/警告
  • 试试Theme.AppCompat.Dialog
  • 是的就是这样,实际上我在你告诉我之前就找到了它;)但你可以做出答案,我会接受它

标签: java android view crash android-theme


【解决方案1】:

您可以使用Theme.AppCompat.Dialog 作为您活动的主题以避免 兼容性问题。
该活动将显示为一个对话框。

<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.Dialog">
</activity>

至于标题,可以使用setTitle("Hola!");更改。
如果你想删除标题,只需调用:

supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

android:theme="@style/Theme.AppCompat.Dialog",
和:

requestWindowFeature(Window.FEATURE_NO_TITLE);

android:theme="@android:style/Theme.Dialog"

【讨论】:

  • 已经有一段时间了,但如果我没记错的话是的,AppCompat 是解决方案 o/
猜你喜欢
  • 2020-08-24
  • 1970-01-01
  • 1970-01-01
  • 2013-09-28
  • 1970-01-01
  • 1970-01-01
  • 2021-06-28
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多