2012-11-06 37 views
17

Sto usando il seguente codice per ottenere angoli arrotondati e un contorno colorato:angoli arrotondati con colore del bordo

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

L'immagine mostra quello che sto ricevendo in questo momento. A causa dello stroke, gli angoli arrotondati si trovano solo sul bordo esterno del layout e il bordo interno del contorno nero crea un rettangolo con spigoli vivi. Come posso convertire i bordi taglienti in angoli arrotondati?

risposta

46

Utilizzare il tag <shape> per creare un drawable in XML con angoli arrotondati. (Puoi fare altre cose con il tag shape come definire anche un gradiente di colore).

Seguendo codice può aiutare a:

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

Grazie! Solo per clatificare, il bordo è dato dal tag del tratto. – bonnyz

+0

Anche questo funziona bene come sfondo per dire elementi 'EditText' – Fattie

0

Utilizzare questo personalizzare secondo le vostre necessità.

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