【发布时间】:2016-04-10 20:28:05
【问题描述】:
我正在使用minSdkVersion=21 开发一个应用程序。我不希望支持 21 岁以下的旧 API。
在Project structure > Dependecies,我仍然可以看到附加的v7 支持库。这背后的原因是什么?
将Material 主题应用于API 21 设备的正确方法是什么,因为由于Coordinator layout 的膨胀,我不断收到错误,或者它告诉我使用Theme.AppCompat 的主题而不是android:Theme.Material.Light.DarkActionBar。
(一些属性被忽略了)
Manifest.xml
<application
android:theme="@android:style/Theme.Material.Light.DarkActionBar">
<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.Material.Light.DarkActionBar">
</activity>
</application>
值\styles.xml
<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
v21\styles.xml
<resources>
<style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar">
<!-- item tags here -->
</style>
</resources>
build.gradle
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.app.karti.themetestv3"
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
现在,我在这里遇到了 2 个例外:
1.Error inflating class android.support.design.widget.CoordinatorLayout
2.You need to use a Theme.AppCompat theme (or descendant) with the design library.
如果有人可以提供帮助,我会很高兴。谢谢。
PS : MainActivity 类扩展 Activity 而不是 AppCompatActivity
【问题讨论】:
-
请同时粘贴您的 build.gradle 文件。
-
AppCompat 主题在 21+ 上使用 Material 主题。
标签: android android-studio material-design android-support-library android-appcompat