Entfernen Sie programmatisch zusätzlichen Speicherplatz um GridView herum

8

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:

%Vor%

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:

%Vor%     
Magakahn 27.08.2012, 13:35
quelle

7 Antworten

6
  • 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);

    auf

Aktualisierung:

  • Definieren Sie Ihr GridView in einem eigenen XML und blasen Sie es auf.

    Layout / mygrid.xml

    %Vor%

    In Java

    %Vor%
Ronnie 22.09.2012 15:50
quelle
2

Hat es so gelöst, indem:

%Vor%

Aber Sie brauchen unterschiedliche Polsterung für verschiedene Bildschirme. Aber es ist keine vollständige Lösung. Funktionale Änderungen dieses Codes werden akzeptiert.

    
Magakahn 27.08.2012 17:26
quelle
2

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:

%Vor%     
Renard 21.09.2012 19:43
quelle
1

Ich denke, dass Sie SetPadding verwenden können, um dieses Problem zu beseitigen, während Sie dynamische Gridview erstellen.

%Vor%     
Chinmoy Debnath 26.09.2012 11:17
quelle
0

setSelector (int) (aus AbsListView ) isn Was suchst du?

Wie setSelector(0)

    
marwinXXII 21.09.2012 14:54
quelle
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%     
Paul D'Ambra 26.09.2012 14:54
quelle
0

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.

    
Eduardo 26.09.2012 17:34
quelle

Tags und Links