我最近用minSdkVersion 15创建了一个新项目,编译并针对了SdkVersion 21,并进行了一些活动。我想为我的应用程序使用默认的全黑主题,根据文档,我只需要使用Theme.AppCompat。当我在个人电话(运行4.4.2)上对其进行测试时,我得到了黑暗的全息主题和期望的结果。但是,当我使用Lollipop运行最新的nexus模拟器时,主题和控件看起来完全不同。例如,棒棒糖中的开关显示为一个滑块,而没有为打开/关闭状态指定文本。
有没有办法让我保持一致的外观(在手机上的外观),而不必担心应用在新设备上的外观完全不同?
编辑:
<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'
}
图片:
棒棒糖/仿真器版本:http://i.stack.imgur.com/u8QhX.png
Kitkat /电话版本:http : //i.stack.imgur.com/u8QhX.png
最新版本的appcompat-v7
专门将许多小部件UI更新为新的“材料设计”外观。因此,如果您真的想抵抗趋势,则必须使用自己的背景手动覆盖小部件UI。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句