Intereting Posts
Фоновый образ анимации на ProgressBar на Android? Полный экран DialogFragment (над ActionBar) в Android Как я могу опубликовать, чтобы воспроизвести x86 и ARM apks моего приложения для кордоны-кроссворда? Android – проблемы с перетаскиванием и обрезкой Шрифт Деванагари / Маратхи Что такое использование List <NameValuePair> или ArrayList <NameValuePair> Альтернатива TYPE_TOAST, которая не будет запрашивать разрешение? Отсутствует GreenDao freemaker.jar Что более безопасно: внешний браузер или ChromeTab для авторизации? Android Manifest – «Не имеет конструктора по умолчанию» С Activity / Runnable Class NoClassDefFoundError – отклонение повторного инициализации в ранее не пройденном классе Обнаружить установленный сертификат в моем устройстве Android Предел хранения в папке raw и ресурса в android Как использовать автономный кеширование универсального графического загрузчика? Как я могу добавить новую «плавучую кнопку действия» между двумя виджетами / макетами

Пользовательская панель прокрутки Android

Как я могу сделать эту полосу прокрутки:

Solutions Collecting From Web of "Пользовательская панель прокрутки Android"

Чтобы изменить изображение большого пальца, вы можете просто создать следующий стиль и применить его к вашему ScrollView:

<style name="your_style_name"> <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item> <item name="android:scrollbarStyle">outsideOverlay</item> <item name="android:scrollbars">vertical</item> <item name="android:fadeScrollbars">false</item> <item name="android:scrollbarThumbVertical">@drawable/scroller_thumb</item> </style> 

Где scroller_thumb – это ваше собственное изображение для большого пальца скроллера.

Также обратите внимание на следующие атрибуты:

  1. «Андроид: fadeScrollbars», для которого установлено значение «ложь», чтобы сделать изображение большого пальца неизменным.
  2. «Android: scrollbarStyle», который настроен на внешний слой, чтобы сделать изображение большого пальца нарисованным на «грани обзора и наложения», как указано здесь: android: scrollbarStyle

Теперь, чтобы поместить тонкую линию, которую вы хотите под скроллером, просто добавьте изображение, содержащее изображение линии, прямому дочернему элементу ScrollView (дочерний элемент RelativeLayout как прямой дочерний элемент для ScrollView позволит вам поместить изображение на Правая сторона взгляда – так это было бы моим выбором).

вот и все.

Настройка Android: scrollbarThumbVertical – не лучшее решение, оно растягивает изображение большого пальца в соответствии с размером списка …

Вам лучше использовать android: fastScrollThumbDrawable

Вот пример:

 <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="fill_parent" android:fadeScrollbars="false" android:scrollbarAlwaysDrawVerticalTrack="true" android:scrollbarSize="0dip" android:scrollbarStyle="outsideInset" android:fastScrollAlwaysVisible="true" android:fastScrollEnabled="false" android:scrollbars="vertical" /> 

Затем в файле styles.xml AppTheme вы добавляете

 <style name="AppTheme" parent="AppBaseTheme"> <item name="android:fastScrollThumbDrawable">@drawable/scroller_style</item> </style> 

И в папке res / drawable вы создаете файл: scroller_style.xml с содержимым

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

Где скроллер – это изображение большого пальца, а scroller_active – ваше активное изображение большого пальца (необязательно)

Этот идеальный пример поможет вам в решении.

Я выбрал основные части для быстрого использования. Если кому-то нужна дополнительная информация, проверьте полную статью.

Вертикальная прокрутка

Создайте новый файл res/drawable/scrollbar_vertical_track.xml и скопируйте вставьте следующий контент. Этот файл определяет форму для полосы прокрутки.

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:angle="0" android:endColor="#9BA3C5" android:startColor="#8388A4" /> <corners android:radius="6dp" /> </shape> 

Вертикальный ScrollBar Thumb Drawable

Создайте новый файл res/drawable/scrollbar_vertical_thumb.xml и скопируйте в него следующий контент. Этот файл определяет форму для большого пальца прокрутки.

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <gradient android:angle="0" android:endColor="#005A87" android:startColor="#007AB8" /> <corners android:radius="6dp" /> </shape> 
  • Эти drawable позволяет установить форму, цвет дорожки и большого пальца полосы прокрутки соответственно.
  • Здесь мы создаем закругленный трек и большой палец полосы прокрутки, предоставляя радиус для атрибута.

styles.xml

Создайте следующий стиль и примените его к ScrollView. Откройте res/values/styles.xml и отредактируйте содержимое, как показано ниже.

 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="scrollbar_shape_style"> <item name="android:scrollbarAlwaysDrawVerticalTrack">true</item> <item name="android:scrollbarStyle">outsideOverlay</item> <item name="android:scrollbars">vertical</item> <item name="android:fadeScrollbars">true</item> <item name="android:scrollbarThumbVertical">@drawable/scrollbar_vertical_thumb</item> <item name="android:scrollbarTrackVertical">@drawable/scrollbar_vertical_track</item> <item name="android:scrollbarSize">12dp</item> <item name="android:scrollbarFadeDuration">2000</item> <item name="android:scrollbarDefaultDelayBeforeFade">1000</item> </style> </resources> 

Применение пользовательского стиля к ScrollView :

Мы применяем стиль scrollbar_shape_style к ScrollView, который использует форму, пригодную для рисования.

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" style="@style/scrollbar_shape_style" ... > ... </ScrollView>