2016-07-02 4 views
6

Ich habe eine Android-Anwendung, die auf Produktion für mehrere Jahre läuft. In letzter Zeit habe ich ein Problem mit einem ListView in der App entdeckt, das beim Scrollen unscharf wird. Das Problem tritt nur unter Android Marshmallow auf.Android Marshmallow Listview Scrolling wird verschwommen

Here is a screenshot of the ListView while scrolling

enter image description here

Jede Hilfe sehr geschätzt würde.

Danke!

+0

Auf welche Art von Telefon oder Emulator testen Sie? Veröffentlichen Sie Ihren Adaptercode. –

+1

Setzen Sie den Fensterhintergrund auf null? –

+0

Nicht sicher, wie mache ich das? Vielen Dank. –

Antwort

0

Ich hatte auch dieses Problem und durch Versuch und Irrtum schließlich eine Lösung gefunden. Hoffentlich wird es auch für dich funktionieren. Dies scheint ein Fehler in Marshmallow in Bezug auf die Bildlaufleiste in Listenansichten zu sein. Ich hatte die folgende Eigenschaft Satz in meiner Anwendung Thema, und Entfernen dieser Eigenschaft festgelegt, die verschwommen Scrollen:

<item name="android:fadeScrollbars">false</item> 

Mit true statt false auch funktioniert, aber ist nicht notwendig, da es die Standardeinstellung. Ich entdeckte auch (durch Trail-and-Error), dass die Verwendung von android:fastScrollEnabled="true" die gleiche Unschärfe verursacht, aber basierend auf Ihrem Scrollbar-Stil, scheinen Sie nicht zu verwenden.

Zusammenfassend, verwenden Sie nicht android:fadeScrollbars. Wenn das Problem dadurch nicht behoben wird, versuchen Sie es mit anderen Bildlaufleisten-Stilen, die Sie möglicherweise in Ihrer ListView verwenden, zu spielen. Beachten Sie, dass diese Stile Teil der Ansicht oder Teil eines Aktivitäts- oder Anwendungsthemas sein können.

1

Vorwort: Ich habe vorher eine separate Antwort gepostet, aber diese Lösung funktionierte nur auf meiner MotoX. Ich fand später heraus, dass es für mein Galaxy Tab A nicht funktionierte. Die Antwort hier scheint universeller zu sein:

Ich konnte meine Scroll-Unschärfe beheben, indem ich einen separaten ListView-Stil für meine Anwendung definierte und einen anderen Listenteiler vorgab. Also, für meine Anwendung Thema stelle ich dies:

<item name="android:listViewStyle">@style/ListViewStyleNoBlur</item> 

Wo ListViewStyleNoBlur ist definiert als:

<style name="ListViewStyleNoBlur" parent="@android:style/Widget.ListView.White"> 
    <item name="android:divider">@android:drawable/divider_horizontal_bright</item> 
</style> 

ich diese in einem values-v23 Ressourcen Ordner angegeben, so dass die Änderung vorge Eibisch Geräte wirkt sich nicht auf.

Mein Anwendungsthema basiert auf android:style/Theme.Light, weshalb der übergeordnete Stil meiner Listenansichtsstil android:style/Widget.ListView.White ist. Meine App Min SDK ist 8, weshalb ich ein so "altes" Theme verwende. Ich habe auch bemerkt, dass, wenn ich ein "neueres" Thema verwende, wie Holo, die Unschärfe nicht existiert.

Verwandte Themen