Как я могу сделать эту полосу прокрутки:
Как я могу сделать эту полосу прокрутки:
Чтобы изменить изображение большого пальца, вы можете просто создать следующий стиль и применить его к вашему 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 - это ваше собственное изображение для большого пальца скроллера.
также обратите внимание на следующие атрибуты:
Теперь, чтобы поместить тонкую линию, которую вы хотите под скроллером, просто добавьте изображение, содержащее изображение линии, прямому дочернему элементу 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 - ваше активное изображение большого пальца руки (необязательно)
Этот прекрасный пример поможет вам в решении.
Я выбрал основные части для быстрого использования. если кому-то нужна дополнительная информация, проверьте полную статью.
Вертикальная композиция для прокрутки в ScrollBar
Создайте новый файл 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>
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>