Подтвердить что ты не робот

Как установить край для вертикальной полосы прокрутки с правого края в ListView?

Для платформы Android:

Мне нужно поместить маржу на правую сторону вертикальной полосы прокрутки в listview (она настроена). См. Прикрепленное изображение. Полоса прокрутки по умолчанию прилипает к правой стороне списка. Image

Вам нужна ваша рука. Благодарю.

4b9b3361

Ответ 1

Обратитесь к документации по атрибуту android:scrollbarStyle View. Стиль, который вы, вероятно, хотите использовать, insideOverlay (в сочетании с android:paddingRight).

Что-то вроде

<LinearLayout android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal"
    android:paddingRight="50dip">
    <ListView
        android:id="@+id/scrollable_table" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbarStyle="insideOverlay">
    .
    .
    .

Ответ 2

Если вы заботитесь о своем дизайне и хотите применить стиль во всем мире, используйте это.


RES/значение/styles.xml

<item name="android:scrollbarThumbVertical">@drawable/scrollbar</item>

Рез/вытяжка/scrollbar.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:right="4dp"> <!-- Your Margin -->
        <shape>
            <solid android:color="@color/red500" /> <!-- Your Color -->
            <corners android:radius="2dp" /> <!-- Your Radius -->
            <size android:width="4dp" /> <!-- Your Width -->
        </shape>
    </item>
</layer-list>

Все остальные ответы были созданы разработчиками, а не такими дизайнерами, как я.

Результат

Good ScrollBar

Ответ 3

Попробуйте включить быстрый прокрутку, большую часть времени он выполняет:

<ListView
    android:id="@+id/chapter_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fastScrollEnabled="true"/>