round corners with border color

99封情书 提交于 2019-12-05 09:41:00

问题


I am using the following code to get rounded corners as well as a colored outline:

<?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:width="5dip"
    android:color="@color/black" />

The image displays what I'm getting right now. Due to the stroke, the rounded corners only lie on the outer edge of the layout and the inner edge of the black outline makes a rectangle with sharp edges. How can I convert the sharp edges to rounded corners?


回答1:


Use the <shape> tag to create a drawable in XML with rounded corners. (You can do other stuff with the shape tag like define a color gradient as well).

Following code may help you:

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

<stroke android:width="3dp"
        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>



回答2:


Use this customize according to your need.

<?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:width="4dp"
        android:color="@android:color/holo_blue_light" />
    <corners android:radius="6dp" />
</shape>


来源:https://stackoverflow.com/questions/13254561/round-corners-with-border-color

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!