2012-02-01 8 views
12

Ho scoperto che per aggiungere bordi intorno vista posso usare il seguente codice come sfondo per la vista:Come creare un bordo su un lato di una vista?

<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
<solid android:color="#FFFFFF" /> 
<stroke android:width="1dp" android:color="#999999" /> 
<padding android:left="1dp" android:top="1dp" android:right="1dp" 
    android:bottom="1dp" /> 
</shape> 

Ma cosa succede se voglio un bordo solo per la parte inferiore, o in alto o destra o di sinistra? Ho provato quanto segue:

<shape 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="line"> 
<stroke android:color="#000"/> 
</shape> 

ma quando ho impostato come sfondo

android:background="@drawable/my_border" 

si disegna la linea al centro della vista, in modo da avere un effetto barrato. C'è un modo per disegnare questa linea in basso o in alto o renderla verticale?

In WPF abbiamo le coordinate relative per le forme, quindi è possibile eseguire il offset delle linee in base alle esigenze. C'è qualcosa di simile su Android? Se non abbiamo confini, almeno dovremmo disporre di buoni strumenti per disegnare forme lineari, in modo da poter disegnare i bordi secondo necessità. Gli sviluppatori Android prevedono di fare qualcosa al riguardo?

risposta

1

Per la linea di confine nella parte superiore o inferiore della vista, è possibile controllare la mia risposta precedente here. È un modo molto semplice

0

Are u alla ricerca di questo:

<item android:state_pressed="false"> 
    <inset 
      android:insetBottom="-3dp" 
      android:insetLeft="-3dp" 
      android:insetTop="-3dp" > 

       <shape > 
        <corners android:radius="0.0dip" /> 
        <stroke android:width="2.0dip" android:color="#EEE"/> 

       </shape> 
      </inset> 
      </item> 

si mostrerà un bordo solo alla destra. E devi impostarlo come sfondo