Mam kształt z gradientem, którego używam jako elementu podziału między elementami ListView
. I zostały zdefiniowane w następujący sposób:Jak dodać dopełnienie do gradientu <shape> w systemie Android?
<?xml version="1.0" encoding="UTF-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:startColor="#ccd0d3"
android:centerColor="#b6babd"
android:endColor="#ccd0d3"
android:height="1px"
android:angle="0" />
</shape>
będzie dodam 6 pikseli wyściółkę po obu stronach gradientu, tak, że nie rozciąga się od krawędzi do krawędzi ekranu.
Jednak nie ważne, gdzie wstawię android:left="6px"
i android:right="6px"
, wydaje się, że nie przynosi ono efektu. Mogę umieścić go w elemencie <shape>
, w elemencie <gradient>
lub osobnym <padding>
dziecku <shape>
i nic nie zmienia.
Jak mogę dodać dopełnienie po lewej i prawej stronie mojego dzielnika list?
zaktualizowałem wszystkie odpowiedzi do korzystania DP nie PX ponieważ większość programistów czas powinien używaj dp, aby wziąć pod uwagę różne gęstości ekranu: http://developer.android.com/guide/practices/screens_support.html – Intrications
Oprócz komentarzy i rozwiązań, które mówią, że nie należy używać px, użyj dp - Chciałbym dodać, że gradient nie ma atrybutu wysokości i jest w tym przypadku bezużyteczny. Wysokość powinna być stosowana jako atrybut elementu. –
prodaea
Możliwy duplikat [Wypełnienie nie wpływa na w układzie XML] (http://stackoverflow.com/questions/1283085/padding-doesnt-affect-shape-in-an-xml-layout) –
tir38