Android中的较低API上的自定义按钮看起来不同

时间:2016-04-15 09:57:08

标签: android xml button android-studio android-custom-view

你好我试过解决方案发布在堆栈溢出但不工作请帮助解决这个问题。使用自定义按钮,这是在drawable文件夹

button_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/button_not_pressed" android:state_pressed="false" android:state_selected="false"/>
        <item android:drawable="@drawable/button_pressed" android:state_pressed="true"/>
</selector>

button_pressed.xml

 <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <stroke android:width="1dp" android:color="#009688"/>
        <corners android:radius="1dp"/>
        <gradient android:startColor="@color/header" android:centerColor="@color/header" 
android:endColor="@color/header" android:angle="270"/>
</shape>

button_not_pressed.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
    <stroke android:width="0.4dp" android:color="@color/header"/>
    <corners android:radius="0dp"/>
</shape>

但在较低的API屏幕上看起来像这样

enter image description here

在API 17以上,它看起来像这样 这是我为Button做的实际设计

enter image description here

2 个答案:

答案 0 :(得分:3)

在drawable中添加:

<solid android:color="@android:color/transparent" />

答案 1 :(得分:0)

我在15 api遇到了这样的问题。 加入shape

<solid android:color="@android:color/transparent"/> 

或你需要什么颜色。 它帮助了我。