Android按钮边框颜色

时间:2015-11-21 19:08:21

标签: android xml button

我使用以下XML制作Android Button。

预览设计的输出如下所示。 enter image description here

然而,当我在Device,Samsung Duos上运行时。它显示完全不同。 enter image description here

如何设置边框。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <stroke
        android:width="3dp"
        android:color="#d78d79" />

</shape>

我在XML中也遇到错误,但它的工作正常。当鼠标悬停在错误上时没有显示任何内容。

enter image description here

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:10)

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

中添加shape作为子元素
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <solid android:color="@android:color/transparent" />
    <stroke
        android:width="3dp"
        android:color="#d78d79" />

</shape>

答案 1 :(得分:6)

我经常这样做!

您可以在一个XML中完成所有这些操作,但我会向您展示更好的理解方法。

<强> simple_button.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:state_pressed="true"
        android:drawable="@drawable/button_pressed"/>

    <item
        android:state_enabled="false"
        android:drawable="@drawable/button_disabled"/>
    <item
        android:state_enabled="true"
        android:drawable="@drawable/button_enabled"/>

</selector>

<强> button_pressed.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="2dp" />
    <solid android:color="#20FF5252" />
    <padding
        android:bottom="0dp"
        android:left="0dp"
        android:right="0dp"
        android:top="0dp" />
    <size
        android:width="100dp"
        android:height="35dp" />
    <stroke
        android:width="1dp"
        android:color="#1DE9B6" />
</shape>

<强> button_disabled.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <corners
        android:radius="14dp"
        />
    <solid
        android:color="@android:color/transparent"
        />
    <padding
        android:left="0dp"
        android:top="0dp"
        android:right="0dp"
        android:bottom="0dp"
        />
    <stroke
        android:width="8dp"
        android:color="#1DE9B6"
        />
</shape>

<强> button_enabled.xml

  <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <corners
        android:radius="2dp"
    />
    <solid
        android:color="@android:color/transparent"
    />
    <padding
        android:left="0dp"
        android:top="0dp"
        android:right="0dp"
        android:bottom="0dp"
    />
    <size
        android:width="260dp"
        android:height="50dp"
    />

    <stroke
        android:width="1dp"
        android:color="#1DE9B6"
    />
</shape>

<强> styles.xml

 <style name="Widget.Button.Simple" parent="android:Widget">
        <item name="android:gravity">center_vertical|center_horizontal</item>
        <item name="android:background">@drawable/simple_button</item>
        <item name="android:textAppearance">?android:textAppearanceMedium</item>
        <item name="android:textColor">#1DE9B6</item>
        <item name="android:textStyle">bold</item>

    </style>

<强>用法

  <Button
        android:id="@+id/btn_simple"
        style="@style/Widget.Button.Simple"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_margin="20dp"
        android:text="Button" />

我希望它有所帮助!