Android - 单边边框ImageButton

时间:2012-10-20 14:09:08

标签: android border imagebutton

我试图仅将一侧的边框绘制到ImageButton个对象,
就像在CSS中一样:border-left: 2px solid black;

有没有办法只用风格? (不在它们之间插入空白视图)

谢谢!

修改
我将<selector>标记用于ImageButton

2 个答案:

答案 0 :(得分:3)

经过大量的搜索,我找到了这样做的方法。

创建包含边框样式的xml文件(border_style.xml):

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle">
            <!-- The border color -->
            <solid android:color="#000" />
        </shape>
    </item>

    <item android:left="1dp">
        <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape="rectangle">
            <!-- The fill color-->
        </shape>
    </item>
</layer-list> 

然后在选择器中,你这样写:

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
         <!-- Press Event -->
    </item> 

    <item android:state_focused="true"> 
              <!-- Focuse Event -->
    </item> 

    <item android:drawable="@drawable/border_style.xml" />         
</selector> 

答案 1 :(得分:0)

你不能像css那样做。你需要创建一个xml并将xml放在android drable文件夹中并发送图像按钮背景

And rectangle drawable back.xml (put into res/drawable folder):

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
   <solid android:color="#ffffff" />
   <stroke android:width="1dip" android:color="#4fa5d5"/>
</shape>