2011-07-06 13 views
71

Mam ListView z dopełnieniem w prawo (i lewo).Zmiana położenia paska przewijania ListView z wypełnieniem

Obecnie lista wygląda tak:

----------------- | 
| ROW   | | | 
|-------------| | | 
| ROW   | | | 
|-------------|#| | 
| ROW   |#| | 
|-------------| | | 
| ROW   | | | 
----------------- | 

Jeżeli prawym najbardziej linia jest krawędzią ekranu, przy # s jest pasek przewijania i biała przestrzeń z prawej strony to bycia ListView 'dopełnienie w prawo.

Co jest dla paska przewijania, aby być na prawo od wyściółki jak ten:

    _ 
----------------- | | 
| ROW   | | | 
|---------------| | | 
| ROW   | |#| 
|---------------| |#| 
| ROW   | |#| 
|---------------| | | 
| ROW   | | | 
----------------- |_| 

Czy to możliwe, aby przesunąć pasek przewijania tak czy będę musiał zmienić układy dla każdego wiersza do mieć niewidzialną granicę odpowiedniej wielkości?

Uwaga: obecnie każdy wiersz ma osobne tło ustawione przez adapter, ponieważ wykonuję ruchome okno dla mojego ListView i niestety jeden z moich ekranów wymaga ode mnie, aby to wyglądało tak, jak chcę .

+2

wyjaśnienie dla przyszłych czytelników: ' outsideOverlay' nie zmienia pozycji poziomej pozycji na liście; 'outsideInset' dodaje trochę dopełnienia, przesuwając nieco prawą krawędź elementów. –

Odpowiedz

155

Spróbuj tego:

<ListView 
    ... 
    android:scrollbarStyle="outsideOverlay" /> 
+0

Jeśli tego używam, pasek przewijania nie jest już wyświetlany. To po prostu znika – Janusz

+2

Użyłem android: scrollbarStyle = "outsideInset", działa dobrze na HTC Desire, ale nie na Galaxy S. Uprzejmie pomóż mi to naprawić. – Nuraiz

+0

+1. A jeśli to nie działało z Tobą, upewnij się, że NIE używasz żadnych "atrybutów marginesu" w ListView. – iTurki

31

dodać go do widoku listy

android:scrollbarStyle="outsideInset" 

będzie dodać trochę wyściółka oraz pasek przewijania będzie poza

+1

Pracowałem dla mnie lepiej niż drugi ... –

+0

Chcę mieć wyściółkę po prawej stronie. To rozwiązanie nie działa dla mnie – Bunny

Powiązane problemy