带边框颜色的圆角

Posted

技术标签:

【中文标题】带边框颜色的圆角【英文标题】:round corners with border color 【发布时间】:2012-10-26 14:44:29 【问题描述】:

我正在使用以下代码来获得圆角和彩色轮廓:

<?xml version="1.0" encoding="UTF-8"?> 

<gradient 
    android:startColor="@color/white" 
    android:endColor="@color/white" /> 

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

<stroke
    android:
    android:color="@color/black" />

图片显示了我现在得到的东西。由于stroke,圆角仅位于布局的外边缘,黑色轮廓的内边缘形成一个边缘锐利的矩形。如何将锋利的边缘转换为圆角?

【问题讨论】:

【参考方案1】:

使用&lt;shape&gt; 标记在XML 中创建一个圆角的drawable。 (你也可以用 shape 标签做其他事情,比如定义颜色渐变)。

以下代码可能对您有所帮助:

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#ffffffff"/>    

<stroke android:
        android:color="#ff000000"
        />

<padding android:left="1dp"
         android:top="1dp"
         android:right="1dp"
         android:bottom="1dp"
         /> 

<corners android:bottomRightRadius="7dp" 
         android:bottomLeftRadius="7dp" 
         android:topLeftRadius="7dp"
         android:topRightRadius="7dp"/> 
</shape>

【讨论】:

谢谢!只是为了澄清,边框由笔划标签给出。 这也适用于EditText items 的背景【参考方案2】:

根据您的需要使用此自定义。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@android:color/transparent" />
    <stroke
        android:
        android:color="@android:color/holo_blue_light" />
    <corners android:radius="6dp" />
</shape>

【讨论】:

以上是关于带边框颜色的圆角的主要内容,如果未能解决你的问题,请参考以下文章

android 圆角边框 阴影边框怎么设置

如何以编程方式更改背景颜色而不影响边框?

带圆角和透明度的边框

android设置控件样式(边框颜色,圆角)和图片样式(圆角)

Android 对控件设置边框样式(边框颜色,圆角)和图片样式(圆角)

颤动圆角矩形边框,每边具有不同的颜色