Голо быстрый просмотр прокрутки на старых устройствах

О моем приложении

У меня есть приложение, которое имеет голографический вид.

Для устройств с предварительной сотой я просто поддерживал некоторые элементы темы Голо.

Работа с темами, стилями и attrs в порядке для CheckBox, RadioButton …

То, что я пытаюсь сделать

Я использую ListView для отображения большого количества элементов. Я хочу включить быстрый прокрутка в моем ListView, и я хочу, чтобы у него был голой взгляд.

Моя проблема

У меня есть некоторые трудности, связанные с быстрым прокруткой. Подведите его в тему приложения.

То, что я пробовал до сих пор

  1. Ищите библиотеки, которые это делают. HoloEverywhere многообещал, но не справляется с этим.

  2. Пытался сделать это сам:

Я просто добавил эти чертежи:

Введите описание изображения здесьВведите описание изображения здесь

Затем также добавили эту возможность:

<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" /> </selector> 

Добавлено это в мой attrs.xml :

 <attr name="fastScrollThumbDrawable" format="reference" /> 

Я добавил это в мои themes.xml :

 <style name="MyTheme"> <item name="fastScrollThumbDrawable">@drawable/fastscroll_thumb_holo</item> </style> 

Эта тема правильно настроена для моего приложения в Manifest.xml :

 android:theme="@style/MyTheme" 

Имейте в виду, что android:fastScrollThumbDrawable не существует заранее сотов .


Надеюсь, вы поможете мне решить эту проблему. 🙂

Обновить :

Похоже, что быстрая поддержка прокрутки была добавлена ​​в HoloEverywhere несколько часов назад:

https://github.com/ChristopheVersieux/HoloEverywhere/commit/34561e48339bf6a3e0307d2d35fc4c5ac8409310

Я проверю это. 🙂

    Я использую android:fastScrollThumbDrawable но я не знаю, почему он не работает, поэтому поиск в Интернете я нашел здесь жесткое решение, я не знаю, работает ли он на старом API, как вам нужно, но в моем случае было решено проблема. Примечание. Я использую API 18 как цель и устройство с API 17 для тестирования.

    код:

     try { Field f = AbsListView.class.getDeclaredField("mFastScroller"); f.setAccessible(true); Object o = f.get(<<your listView here>>); f = f.getType().getDeclaredField("mThumbDrawable"); f.setAccessible(true); Drawable drawable = (Drawable) f.get(o); drawable = getResources().getDrawable(R.drawable.<<your thumb drawable here can be a selector>>); f.set(o, drawable); } catch (Exception e) { e.printStackTrace(); } 

    Измените это:

     <style name="MyTheme"> <item name="fastScrollThumbDrawable">@drawable/fastscroll_thumb_holo</item> </style> 

    К чему-то подобному, кажется, что вы забыли там матрос:

     <?xml version="1.0" encoding="utf-8"?> <resources> <style name="listviewfastscrollstyle" parent="android:Theme"> <item name="android:fastScrollTrackDrawable">@drawable/fastscroll_thumb_holo</item> <item name="android:fastScrollThumbDrawable">@drawable/fastscroll_thumb_holo</item> </style> </resources> 

    Теперь он должен работать 🙂

    С наилучшими пожеланиями

    сафари

    Intereting Posts
    OnAnimationEnd не получает вызов, onAnimationStart работает нормально С использованием ресурсов по умолчанию в выпадающей папке (размер MDPI), какая точка в папке drawable-mdpi? Пакет NuGet вызывает проблемы в визуальной студии 2015 и Xamarin Как веб-службы WCF могут быть протестированы локально с эмулятора Android? Управление вводом HTML-файла с атрибутами захвата и принятия работает неправильно? Использование Retrofit для доступа к API с ключом / идентификатором Внезапно появляется android.os.NetworkOnMainThreadException Как создать границу вокруг Android LinearLayout? Ошибка AppWarp на Android, Libgdx Изменение цвета элементов меню Navigation Drawer Android HttpResponse всегда умирает во второй раз, когда он называется Android Ошибка открытия файла трассировки Вход в Twitter / аутентификация в Android-фрагменте Очень открытый вопрос n00b-esque о расширении учебника Notepad в Android Genymotion не загрузит виртуальное устройство