gpt4 book ai didi

android - 在 Android Manifest 中更改主题会导致应用程序崩溃 - 简单的解决方案?

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:45 26 4
gpt4 key购买 nike

我在旧版本的 Eclipse 中创建了一些应用程序。这样做时,我会输入:

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

在 list 文件中,这总是可以毫无问题地更改应用程序主题。最近,我开始使用新的 Java-ADT Eclipse 程序,当我将上述语句输入 list 文件时,应用程序崩溃了。我的意思是当我插入一个设备来测试应用程序时(无论是我的 Galaxy II、Galaxy 4 还是 Galaxy Tab 3 10.1)应用程序安装正确(Eclipse 没有给出错误并声称一切成功),但是设备应用程序加载一个空的黑屏,然后很快崩溃并显示消息“不幸的是,(应用程序)已停止”。我错过了什么吗?

这里有一些注意事项:

  • 生成的应用程序是黑色的,没有标题或通知栏(在崩溃之前),当我将主题短语更改为相同的内容 MINUS,比如“全屏”时,它会正确显示带有通知栏的黑屏但没有标题栏(崩溃前)。对我来说,这表明我输入的短语按照今天的标准仍然是正确的,也许需要的更改/修改在别处。

  • 如果我启动一个新项目并运行它,“Hello World”应用程序会在我的所有设备上正确显示,但如果我更改默认主题 (android:theme="@style/AppTheme") list 文件到任何其他主题,应用程序崩溃(“不幸的是,应用程序已停止”)。

  • 我尝试通过不同的途径覆盖它:我在 res-values-styles 文件中输入了一系列短语(手动应用“NoTitle”和“全屏”属性),但这仅适用于我的 Galaxy 4 和 Tab 3 10.1(我的 Galaxy II 仍显示标题)。此外,该应用程序是白色的,而不是黑色的。

在这一点上的任何建议都会有很大的帮助!谢谢

最佳答案

不幸的是,这最近被打破了(至少在 Intellij 中)。选择 NoTitle 主题之一会使应用程序在运行时崩溃,因为该主题需要是 AppCompat 的后代(至少对于较低的最低 SDK 版本),但目前似乎没有隐藏标题栏的主题。

这是一个有效的修复程序,可以在运行的应用程序和布局预览中隐藏标题栏:

1) 在 AndroidManifest.xml 中将您的主题设置回“AppTheme”:

    android:theme="@style/AppTheme"

2) 通过添加(到 name="AppTheme")更新 res/values/styles.xml 中的主题样式:

    <item name="android:windowNoTitle">true</item>

如果您还想隐藏操作栏,我相信您也可以使用“android:windowFullscreen”来做到这一点。

以上两个步骤在您运行应用程序(模拟器或设备)时有效,但布局仍会显示标题栏。您可以通过转到布局(例如 activity_main.xml)然后单击预览上方的主题 (AppTheme) 并将其更改为类似 Light.NoTitleBar 的内容来隐藏它以处理您的布局。不幸的是,预览忽略了 styles.xml 中的主题更改,但希望这个问题会得到修复。


2015 年 6 月 8 日更新:此说明不再适用于 Android Studio 1.2.1.1,但有一个简单的修复(本来应该有效):

您现在可以在 AndroidManifest.xml 中设置 android:theme:

android:theme="@style/Theme.AppCompat.Light.NoActionBar"

我不知道还需要哪些其他更改,因为我没有在我的项目中回滚它们。

奇怪的是,我在我的系统上找不到 Theme.AppCompat.Black...,也找不到 Theme.Black.... 按照 OP 的要求。

关于android - 在 Android Manifest 中更改主题会导致应用程序崩溃 - 简单的解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23772631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com