Benutzerdefinierte Listview Fast Scrollbar in Android

Ich möchte eine Listenansicht mit einer berührbaren schnellen Scrollbar wie Google Play Musik App mit senkrechter Linie mit Daumen Bild. Es bietet eine einfache und schnelle Möglichkeit, mit dieser berührbaren schnellen Scrollbar zu blättern. Ich habe versucht, nach benutzerdefinierten Scrollbar wie diese, aber ich konnte nicht finden, mit schnellen scrollbar in listview. Ich erwarte die Ausgabe der Scrollbar wie die unten stehende Figur:

Bildbeschreibung hier eingeben

  • Wie finde ich meine App / Daten / Daten mit dem File Explorer von Android Device Monitor
  • OSX-Segmentierungsfehler 11 - Android
  • Parse HTML in Android
  • Singletons vs. Anwendungskontext in Android?
  • Die Android-Berechtigung funktioniert nicht, auch wenn ich es deklariert habe
  • Die perfekte Funktion, um Android Internet-Konnektivität einschließlich Bluetooth-Pan zu überprüfen
  • Die schnelle Scrollbar außen ist in roter Linie markiert. Ich habe diesen Beitrag auf StackOverflow gefunden, aber der Code in der Link gibt mir nicht die erwartete Ausgabe. Kannst du mir helfen?

  • Ist es möglich, ein kundenspezifisches Argument an den androiden Markt weiterzugeben, so dass meine App es beim ersten Start erhält?
  • Apt Abhängigkeitsbereich in Android gradle - wie wird es verwendet?
  • Android: Wenden Sie verschiedene Themen auf Fragmente einer Aktivität an
  • Verwenden von Retrofit in Android
  • Keine Aktivität gefunden, um Intent action.VIEW zu behandeln, wenn Sie auf E-Mail-Link klicken
  • Spring RestTemplate: Post ein Bild und ein Objekt zur gleichen Zeit
  • 2 Solutions collect form web for “Benutzerdefinierte Listview Fast Scrollbar in Android”

    Schließlich kam ich mit einer Lösung. Es funktioniert nur mit API Level 11 oder höher

    Werte / style.xml

    <style name="AppTheme" parent="@style/Theme.Sherlock.Light"> <!-- All customizations that are NOT specific to a particular API-level can go here. --> <item name="android:fastScrollThumbDrawable">@drawable/fast_thumb</item> <item name="android:fastScrollTrackDrawable">@drawable/fastscroll_track_default_holo_dark</item> </style> 

    Bewerben Sie Aktivität für dieses Thema wie unten Code:

      <activity android:name="com.example.viewpager.FirstActivity" android:theme="@style/AppTheme" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> 

    Aktivitäts-Layout XML wie unten Code:

     <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rlScrollingPlayList" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/white" android:orientation="vertical" > <ListView android:id="@+id/listView1" android:layout_width="match_parent" android:fastScrollEnabled="true" android:fastScrollAlwaysVisible="true" android:scrollbarStyle="outsideInset" android:layout_height="match_parent" > </ListView> </RelativeLayout> 

    Ressourcenbilddateien sind

    Bildbeschreibung hier eingebenBildbeschreibung hier eingebenhier eintreten

    Schneller Scroll-Daumenauswahl XML-Datei:

    Ziehbar / fast_thumb.xml

     <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/fastscroll_thumb_pressed_holo"/> <item android:drawable="@drawable/fastscroll_thumb_default_holo"></item> </selector> 

    Endausgabe wie unten:

    Bildbeschreibung hier eingeben

    Also für android api level <11 gibt es einen besonderen hack

     // special hack for violet fast scroll if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) { try { java.lang.reflect.Field f = AbsListView.class.getDeclaredField("mFastScroller"); f.setAccessible(true); Object o = f.get(root.findViewById(R.id.beam_contact_listview)); f = f.getType().getDeclaredField("mThumbDrawable"); f.setAccessible(true); Drawable drawable = (Drawable) f.get(o); drawable = getResources().getDrawable(R.drawable.sv_fastscroll); f.set(o, drawable); } catch (Exception e) { e.printStackTrace(); } } 

    Dieser Code plus Lösung für Android-Api-Ebene> = 11 = Lösung für alle Android-API Ebenen)

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.