Wie Sie angeben, android:listSelector="@null" programmatisch?

Aus irgendeinem Grund, hatte ich nicht extra den Raum um sich herum gridview-Spalte grenzt im emulator aber herausgefunden, dass die zusätzlichen Pixel in meiner realen Gerät (Galaxy S). So würde ich mag, um zu versuchen:

android:listSelector="@null" 

programmgesteuert.

Ich weiß, seine Verwandte Methode ist setSelector. Aber welche Nummer oder-id sollte ich für "@null"? Ich habe versucht 0 aber es machte app Abstürzen.

UPDATE: ich habe das problem gelöst, indem meine eigenen Selektor.

  • Wenn Sie möchten, unset die listSelector drawable, verwenden Sie setSelector(null) statt setSelector(0). Aber ich bin nicht sicher, dass es wird Ihnen helfen, mit Ränder/padding.
  • Oops... Wirklich, es hat nicht funktioniert, sorry. Haben Sie versucht, unterschiedliche hintergrund-Farben für jedes GridView Kind-element heraus, das das Teil, welches Elemente sind, die zusätzlichen Pixel?
  • Das ist merkwürdig. Ich habe ein wenig experimentiert und jetzt mit default-Liste Elementauswahl, ich habe ein one-pixel-Abstand zwischen den Zeilen, nicht aber Spalten. Wahrscheinlich ist diese version-abhängigen Verhalten. Sowieso, wenn die Einstellung listSelector zu @null oder @android:color/transparent die Grenze gegangen. Also, warum nicht Sie verwenden ein geeignetes layout für die GridView? Auch wenn Sie möchten, erstellen Sie programmgesteuert, Sie immer können verwenden GridView.inflate(). So brauchen Sie nicht zu verwenden setSelector() Methode, hat möglicherweise einen Fehler.
  • Freut mich zu hören. Sie konnte immer noch android.R.Farbe.transparent wie ein Selektor, der Anwendungen zu reduzieren-Ressourcen.
  • Ich denke, Sie übertreiben 🙂 Und das beste, Dank -, jemandem zu helfen hier.
Schreibe einen Kommentar