android - 应用程序在更改样式下的主题时崩溃

标签 android android-studio android-theme android-styles android-compatibility

我的 Android 应用:

目标 API:22

最低 API:15

设备 运行于:API 级别 22

我不明白这整个主题概念,

在我的 manifest.xml 中,我设置了 android:theme="@style/AppTheme"

所有 Activity 都使用这个主题

现在我的理解是它们都使用名为 AppTheme 的主题,我现在可以通过在 styles.xml 中扩展其他主题来定义它

在我的 styles.xml

我有这个

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>

我的理解是 AppCompat 主题允许我们在旧设备上也使用更新的(比如 Material 主题)。 我在 API 级别 22 和 API 级别 15 上运行这个应用程序,它工作正常

现在当我把它改成

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Material">
        <!-- Customize your theme here. -->
    </style>

</resources>

它给出了一个警告,说这个主题只能在 API 21 或更高版本上使用,这是正确的,现在当我忽略警告并在 API 22 上运行它时它崩溃了。 为什么?

我还尝试将 AppTheme 的父级设置为 Holo、Light 等,它们都使应用程序崩溃,为什么,请解释一下?

所有这些最终导致应用程序崩溃

<style name="AppTheme" parent="android:Theme.Translucent">
   <style name="AppTheme" parent="android:Theme.Holo">

为什么这些不起作用,Holo 是在 15 年推出的,对吗?

我用的是 22 ,

你能详细说明两者之间的区别吗 Theme......., BaseTheme.....,Android..... themeName

我正在运行 android studio 1.3 并使用最新版本(稳定版)的 SDK、SDK 构建和 SDK 平台工具。 谢谢!

最佳答案

抱歉,我发现了问题,我的 Activity 是扩展 AppCompatActivity 而不是一般 Activity ,我现在明白了

关于android - 应用程序在更改样式下的主题时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30693022/

相关文章:

java - 为什么我的 android studio 应用程序在运行时会跳过登录和注册页面?

java - 在 Android studio 中使用 Clipdrawable 时提高动画速度?

java - 新人 : Android Studio: Error:Execution failed for task ':app:processDebugManifest'

android - 如何在锁屏上获得透明的android Activity ?

java - 我无法通过我的应用程序从 firebase 检索动态链接,因为 pendingdynamiclinkdata 为 null

android - 我如何解决 JQuery Mobile `ui-corner-all` Corners

android - 更改 TimePicker watch 内指针的颜色。 Material 设计?

具有全息灯主题的 Android 对话框 Activity

android - Firebase 身份验证 - 开源 Android 应用程序

java - 如何通过在android中滑动不同的 ListView 项目来启动 Activity ?