173

我正在尝试制作一个可用于按钮的drawable。我希望它有这种颜色,周围有 2px 的边框。

一切都很好,只是我无法显示边框......

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

    <gradient android:startColor="@color/bar_clicked_dark"
        android:endColor="@color/bar_clicked_light"
        android:angle="90"/>

    <corners android:bottomLeftRadius="0dp"
        android:topLeftRadius="15dp"
        android:bottomRightRadius="15dp"
        android:topRightRadius="0dp" />

    <stroke android:width="2dp" 
        color="#ff00ffff" />

</shape>
4

3 回答 3

314

看起来您忘记了颜色属性的前缀。尝试

 <stroke android:width="2dp" android:color="#ff00ffff"/>
于 2011-07-14T21:43:56.110 回答
89

如果要在形状 xml 中创建边框。你需要使用:

对于外部边框,您需要使用:

<stroke/>

对于内部背景,您需要使用:

<solid/>

如果要设置角点,则需要使用:

<corners/>

如果你想在边框和内部元素之间有一个填充,你需要使用:

<padding/>

这是使用上述项目的形状 xml 示例。这个对我有用

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
  <stroke android:width="2dp" android:color="#D0CFCC" /> 
  <solid android:color="#F8F7F5" /> 
  <corners android:radius="10dp" />
  <padding android:left="2dp" android:top="2dp" android:right="2dp" android:bottom="2dp" />
</shape>
于 2015-04-16T13:21:48.323 回答
9

我们可以像下面这样添加可绘制的 .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="@color/color_C4CDD5"/>

    <corners android:radius="8dp"/>

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

</shape>
于 2018-11-05T09:48:28.623 回答