我最近创建了一个新项目,其中包含minSdkVersion 15,编译和目标SDdVersion 21,以及一些活动。我想为我的应用程序使用默认的holo dark主题,根据文档我只需要使用Theme.AppCompat。当我在我的个人电话(运行4.4.2)上测试时,我得到了黑暗的全息主题以及我的期望。但是,当我使用Lollipop运行最新的nexus模拟器时,主题和控件看起来完全不同。例如,Lollipop中的开关显示为滑块,没有为开/关状态指定文本。
有没有办法让我保持一致的外观(手机上看起来如何),而不必担心应用程序在新设备上看起来完全不同?
编辑:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
<!-- Customize your theme here. -->
</style>
<style name="AppThemeDialog" parent="Theme.AppCompat.Dialog">
<!-- Customize your theme here. -->
</style>
</resources>
设定:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "placeholder"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
照片管理:
Lollipop / Emulator版本:http://i.stack.imgur.com/u8QhX.png
Kitkat /手机版:http://i.stack.imgur.com/u8QhX.png
答案 0 :(得分:0)
许多小部件用户界面已更新为新的“材料设计”。有目的地使用最新版appcompat-v7
的外观和感觉。因此,如果您真的想要抵制趋势,则必须使用自己的背景手动覆盖窗口小部件UI。