在Android中使用xml为按钮添加边框

时间:2015-04-04 18:01:04

标签: android xml

我有一个名为playnext的XML文件。我将此文件添加为我的按钮的背景.XML包括两个用于按下按钮和按钮释放的图像。我需要使用XML为这两个图像添加边框。

XML代码

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

请告诉我如何为此添加边框?是否还有其他方法可以为按钮添加边框?

2 个答案:

答案 0 :(得分:2)

制作一个可绘制的xml作为选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
    <shape>
        <solid
            android:color="yoursolidcolor for state pressed" />
        <stroke
            android:width="1dp"
            android:color="#171717" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="5dp"
            android:top="5dp"
            android:right="5dp"
            android:bottom="5dp" />
    </shape>
</item>
<item>
    <shape>
        <solid
            android:color="#yoursolidcolor for default" />
        <stroke
            android:width="0dp"
            android:color="#171717" />
        <corners
            android:radius="4dp" />
        <padding
            android:left="5dp"
            android:top="5dp"
            android:right="5dp"
            android:bottom="5dp" />
    </shape>
</item>
</selector>

然后

<Button 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/youraboveselectoe"
    android:textColor="@color/white"
    android:text="Button"/>

你也可以查看这个

Is it possible to specify border in android button?

答案 1 :(得分:0)

请在drawable xml中添加以下代码,并像使用

一样调用此xml
         android:background="@drawable/border"

border.xml

 <selector xmlns:android="http://schemas.android.com/apk/res/android" android:exitFad   eDuration="@integer/short_anim_time">

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



<item android:drawable="@color/white" android:state_focused="true" />

<item android:drawable="@color/white" />

<item>
    <shape>
        <stroke android:width="2dp" android:color="@color/orange" />

        <padding android:bottom="@dimen/gap" android:left="@dimen/gap" android:right="@dimen/gap" android:top="@dimen/gap" />
    </shape>
</item>