边框形状xml

问题描述 投票:142回答:3

我试图制作一个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>
android android-layout border shapes stroke
3个回答
248
投票

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

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

75
投票

如果你想在一个形状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>

7
投票

我们可以像下面一样添加drawable .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>
© www.soinside.com 2019 - 2024. All rights reserved.