2012-07-24 12 views
6

Secondo Open-sided Android stroke?, esistono fondamentalmente 2 modi per implementare i bordi per TableLayout.Hanno il bordo inferiore per TableLayout che viene utilizzato come riga in ListView

Usa Stroke

<?xml version="1.0" encoding="UTF-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <solid android:color="#00ffffff"/> 
    <stroke android:width="1dp" android:color="#ffffff"/> 
</shape> 

enter image description here

Tuttavia, questo non è qualcosa che voglio, come voglio solo bordo inferiore. Quindi, provo un'altra alternativa.

Usa 2 strati

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<!-- This is the line --> 
<item> 
     <shape> 
      <solid android:color="#ffffff" /> 
     </shape> 
</item> 
<!-- This is the main color --> 
<item android:bottom="1dp"> 
    <shape> 
      <solid android:color="#000000" /> 
    </shape> 
</item> 
</layer-list> 

enter image description here

Tuttavia, durante la lista di selezione vista, il TableRow non saranno evidenziati con ListView colore della selezione, come il suo sfondo già prendere in consegna da "# 000000 "Livello.

C'è un modo migliore in cui posso avere solo il bordo inferiore, eppure obbedirà al colore di evidenziazione della selezione ListView?

risposta

1

Nel file di forma utilizzare <solid android:color="@android:color/transparent"/> invece <solid android:color="#00ffffff"/>

Problemi correlati