Ich versuche, ein GridView
programmatisch in meiner Java-Klasse zu machen, und alles funktioniert gut. Das Problem ist das automatisch generierte 5-Pixel-Padding um den GridView
. In der XML kann ich es entfernen mit:
Aber ich schaffe es nicht, etwas Ähnliches in Java zu machen. Ich habe einige Workarounds ausprobiert wie die GridView
10 Pixel größer als den tatsächlichen Bildschirm ohne Glück.
Hat irgendjemand einen Code dafür?
Bearbeiten:
Die Antwort von mir löst das Problem nicht. Es gibt immer noch ein Kopfgeld.
Hier ist mein GridView
code:
Eine Möglichkeit sicherzustellen, dass die Auffüllung auf Bildschirmen mit unterschiedlicher Dichte gleich aussieht, ist die Umwandlung in DIP-Einheiten.
%Vor%Eine andere Sache, die Sie versuchen können, ist, ein Null-Zeichen in xml .. zu definieren.
%Vor% Rufen Sie dann setSelector(R.drawable.null_drawable);
Aktualisierung:
Definieren Sie Ihr GridView
in einem eigenen XML und blasen Sie es auf.
Layout / mygrid.xml
%Vor%In Java
%Vor% Um den gleichen Effekt wie mit android:listSelector="@null"
zu erhalten, müssen Sie jedoch im Code setSelector () als marvinXXII erwähnt.
Sie müssen jedoch eine gültige ResourceId übergeben oder die setSelector(Drawable sel)
-Variante verwenden.
Leider ist es nicht möglich, null
an diese Methode zu übergeben, da dies zu einer NullPointerException führt.
Die Problemumgehung, die hier beschrieben wird, ist folgende:
Ich denke, dass Sie SetPadding verwenden können, um dieses Problem zu beseitigen, während Sie dynamische Gridview erstellen.
%Vor% setSelector (int) (aus AbsListView
) isn Was suchst du?
Wie setSelector(0)
Haben Sie diese Frage Warum gibt es zusätzliche Pixel um mein Android GridView? ? In diesem Fall bestand das Problem darin, dass das Bild, das als Selektor in der Gridview verwendet wurde, eine Auffüllung aufwies.
Wenn Sie die vorgeschlagene Lösung programmatisch auf diese Frage anwenden, setzen Sie den Selektor
%Vor%Die folgenden Einstellungen funktionieren für mich:
%Vor%Ich benutze es in Kombination mit diesem Stück XML-Code:
%Vor%Ich denke, was Sie brauchen, ist vielleicht die Kombination aus einem transparenten Selektor und der Schwerkraft, die auf CENTER_HORIZONTAL gesetzt ist.