App中的AppCompat和主题问题

时间:2015-01-26 02:20:06

标签: android android-layout android-5.0-lollipop android-theme

我最近创建了一个新项目,其中包含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'
}

照片管理:

  1. Lollipop / Emulator版本:http://i.stack.imgur.com/u8QhX.png

  2. Kitkat /手机版:http://i.stack.imgur.com/u8QhX.png

1 个答案:

答案 0 :(得分:0)

许多小部件用户界面已更新为新的“材料设计”。有目的地使用最新版appcompat-v7的外观和感觉。因此,如果您真的想要抵制趋势,则必须使用自己的背景手动覆盖窗口小部件UI。