2017-02-23 12 views
0

我有一个活动我如何获得一个程序兼容性按钮相同的风格在不同的API层次

<Button 
     android:id="@+id/pick_photo_button" 
     style="@style/Widget.AppCompat.Button.Colored" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:onClick="onSelectFile" 
     android:text="Select Photo" 
     android:layout_margin="20dp" 
     /> 

出于某种原因,按钮上有不同的API层次不同的仿真器不同的颜色一个简单的按钮。 在API级别23,它看起来应该是。这与AndroidStudio中的设计视图显示预览的方式相同。

enter image description here

但在API级别22的按钮有一个红色 enter image description here

她的字gradle这个配置:

compileSdkVersion 25 
buildToolsVersion "25.0.0" 
defaultConfig { 
    applicationId "io.sizzr.sizzr" 
    minSdkVersion 16 
    targetSdkVersion 16 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
} 
.... 
    compile 'com.android.support:appcompat-v7:25.1.1' 

我如何以平等的方式样式的按钮降至API级别16?

回答

0

要保持项目 的最佳结构 - 安卓文本 - >使用string.xml - 机器人:文字颜色 - > colors.xml

layout.xml

<android.support.v7.widget.AppCompatButton 
    android:id="@+id/pick_photo_button" 
    style="@style/ButtonStyle" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:onClick="onSelectFile" 
    android:text="Select Photo" 
    android:layout_margin="20dp" 
    /> 

style.xml & & V21/style.xml

<style name="ButtonStyle"> 
    <item name="android:textSize">15sp</item> 
    <item name="android:padding">10dp</item> 
    <item name="android:textColor">#FF0000</item> 
    <item name="android:background">@color/colorPrimary</item> 
</style> 
+0

如何从Widget.AppCompat.Button.Colored继承,以获得信阿姆造型? – dc10

+0

使用样式的'parent'属性 – njzk2

相关问题