Android:只按下按钮的左侧

时间:2014-06-11 01:04:04

标签: android xml button stroke

我试图画高光" 3D"使用笔划的按钮上的线条。我该怎么做呢?我的custom_button.xml选择器中的以下块用于默认按钮状态。我希望按钮的背景能够填充蓝色渐变,但是粉红色(仅用于测试!)行显示在按钮的左侧。

我应该使用如下所示的图层列表吗? 如何让线条出现在按钮的左侧?目前,粉红色的线条出现在整个按钮周围,它用黑色代替渐变蓝色填充按钮。这是因为第二项的默认颜色是黑色..即使我试图将其设置为透明?

    

<shape>
    <gradient
        android:endColor="@color/blue2"
        android:startColor="@color/blue25"
        android:angle="270" />
    <stroke
        android:width="3dp"
        android:color="#00FFFF" />
    <corners
        android:radius="3dp" />
    <padding
        android:left="10dp"
        android:top="10dp"
        android:right="10dp"
        android:bottom="10dp" />
</shape>

<item android:left="1dp">
    <shape>
       <solid android:color="@android:color/transparent" /> 
       <stroke android:width="1dp" android:color="#FF8888" />
   </shape>
</item>

</layer-list>

下面是我得到的(在上面)和我期望得到的(在底部)的图像。我只是将这些颜色用于测试目的! :-) enter image description here

1 个答案:

答案 0 :(得分:2)

你可以试试这个

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

    <item
        android:bottom="-2dp"
        android:right="-2dp"
        android:top="-2dp">
        <shape>
            <solid android:color="@android:color/transparent" />

            <stroke
                android:width="1dp"
                android:color="#FF8888" />
        </shape>
    </item>
    <item
        android:drawable="@drawable/shape2"
        android:left="1dp">
    </item>

</layer-list>

@drawable/shape2是您在上面指定的形状

<强>结果:

enter image description here