2010-06-21 29 views
10

Desidero avere un elmenente con un contorno bordo a 2 colori. Posso fare un contorno a colore singolo usando l'elemento, ma questo mi consente solo di disegnare una singola linea. Ho provato ad usare 2 elementi all'interno del mio ma non ha funzionato. C'è un modo per disegnare una forma all'interno di una forma o disegnare 2 linee attorno alla mia forma (che ha gli angoli arrotondati).Android Forma all'interno di una forma

Grazie Ben

risposta

25

ho scoperto che il <layer-list> è l'approccio migliore. Come questo:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:left="6dip" 
     android:right="6dip"> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle"> 
      <stroke 
       android:width="3dip" 
       android:color="#000000" /> 
     </shape> 
    </item> 
    <item 
     android:bottom="1dip" 
     android:left="8dip" 
     android:right="8dip" 
     android:top="1dip"> 
     <shape xmlns:android="http://schemas.android.com/apk/res/android" 
      android:shape="rectangle"> 
      <corners 
       android:bottomLeftRadius="2dip" 
       android:bottomRightRadius="2dip" 
       android:topLeftRadius="2dip" 
       android:topRightRadius="2dip" /> 
      <solid android:color="@android:color/white" /> 

      <stroke 
       android:width="1dip" 
       android:color="#BDBDBD" /> 
     </shape> 
    </item> 
</layer-list> 

È quindi necessario mettere i margini corretti sul layout fila listView, ma funziona abbastanza bene.

0

quindi ho un lavoro in giro, ma la sua brutta. il lavoro attorno è quello di avvolgere il mio elemento all'interno di un altro elemento contenitore. vale a dire

<RelativeLayout ... android:background="@drawable/outer"> <ListView ... android:background="@drawable/inner" /> </RelativeLayout>