Как установить край для вертикальной полосы прокрутки с правого края в ListView?
Для платформы Android:
Мне нужно поместить маржу на правую сторону вертикальной полосы прокрутки в listview (она настроена). См. Прикрепленное изображение. Полоса прокрутки по умолчанию прилипает к правой стороне списка.
![Image]()
Вам нужна ваша рука. Благодарю.
Ответы
Ответ 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"/>