2012-11-06 40 views
17

Tôi đang sử dụng đoạn mã sau để có được góc tròn cũng như một phác thảo màu:góc tròn với màu biên giới

<?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" /> 

round corners with border color

Hình ảnh hiển thị những gì tôi đang nhận được ngay bây giờ. Do stroke, các góc được làm tròn chỉ nằm ở cạnh ngoài của bố cục và cạnh trong của viền đen làm cho hình chữ nhật có các cạnh sắc nét. Làm thế nào tôi có thể chuyển đổi các cạnh sắc nét thành các góc tròn?

Trả lời

46

Sử dụng thẻ <shape> để tạo một bản vẽ có thể vẽ được bằng XML với các góc được làm tròn. (Bạn có thể thực hiện các công cụ khác bằng thẻ hình dạng như xác định độ dốc màu).

mã sau đây có thể giúp bạn:

<?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> 
+0

Cảm ơn! Chỉ cần để clatify, biên giới được đưa ra bởi các thẻ đột quỵ. – bonnyz

+0

Điều này cũng hoạt động tốt như nền cho mục 'EditText' – Fattie

0

Sử dụng tùy chỉnh này theo nhu cầu của bạn.

<?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>