Positionieren Sie die Bildlaufleiste von ListView mit Auffüllung neu

73

Ich habe eine ListViewmit Polsterung rechts (und links).

Derzeit sieht die Liste ungefähr so ​​aus:

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

Wo die Linie ganz rechts der Rand des Bildschirms ist, wobei #s die Bildlaufleiste und der weiße Bereich rechts davon die ListViewAuffüllung rechts ist.

Was ich für die Bildlaufleiste rechts von der Polsterung wie folgt bin:

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

Ist es möglich, die Bildlaufleiste so zu verschieben, oder muss ich die Layouts für jede Zeile ändern, um einen unsichtbaren Rand mit der richtigen Größe zu erhalten?

Beachten Sie, dass derzeit für jede Zeile ein separater Hintergrund vom Adapter festgelegt wird, da ich ein schwebendes Fenster für meine ListViewund leider für einen meiner Bildschirme erstelle, damit es so aussieht, wie ich es möchte.

JPvdMerwe
quelle
2
für zukünftige Leser zu verdeutlichen: outsideOverlayÄndert nicht die horizontale Position der Elemente in der Liste; outsideInsetFügt etwas Polsterung hinzu und verschiebt die rechte Kante der Elemente ein wenig.
Richard Le Mesurier

Antworten:

163

Versuche dies:

<ListView
    ...
    android:scrollbarStyle="outsideOverlay" />
Haisea
quelle
Wenn ich dies benutze, wird meine Bildlaufleiste nicht mehr angezeigt. Es verschwindet einfach
Janusz
2
Ich habe android verwendet: scrollbarStyle = "externalInset", es funktioniert gut auf dem HTC Desire, aber nicht auf dem Galaxy S. Bitte helfen Sie mir, dies zu beheben.
Nuraiz
+1. Und wenn es bei Ihnen nicht funktioniert hat, stellen Sie sicher, dass Sie KEINE margin attributesin der ListView verwenden.
iTurki
Arbeiten Sie gut mit Auffüllen anstelle von Rändern in TextView.
Parth Patel
35

Fügen Sie dies Ihrer Listenansicht hinzu

android:scrollbarStyle="outsideInset"

Es wird ein wenig Polsterung hinzugefügt und die Bildlaufleiste befindet sich außerhalb

Abou-Emish
quelle
Ich möchte eine Polsterung auf der rechten Seite haben. Diese Lösung funktioniert nicht für mich
Bunny