Как да задам поле за вертикална лента за превъртане от десния край в ListView?

За Android платформа:

Трябва да сложа марж от дясната страна на вертикалната лента за превъртане в изглед на списък (тя е персонализирана). Моля, вижте приложеното изображение. Лентата за превъртане по подразбиране се придържа към крайната дясна страна на списъка. Изображение

Имам нужда от ръката ти. Благодаря.


person Community    schedule 12.05.2011    source източник
comment
За каква платформа/GUI рамка е това? Много от тях имат вертикални ленти за превъртане и ListView.   -  person Cody Gray    schedule 12.05.2011
comment
Това е за Android платформа за 2.1 и по-нова версия.   -  person    schedule 12.05.2011


Отговори (3)


Вижте документация за атрибут 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">
    .
    .
    .
person Ilya Saunkin    schedule 18.05.2011
comment
Защо не подложката директно в ListView, без да използвате обвивката? - person Gil Vegliach; 20.11.2014
comment
Отговорът на @Michael е много по-добър. Моля, прегледайте го и помислете за промяна на приетия отговор. - person aaaidan; 20.10.2017
comment
Забележка: ако имате нужда от обратното (накарайте лентата за превъртане да гравитира надясно) и имате paddingRight и clipToPadding = false, използвайте outsideOverlay - person Johnny Five; 01.10.2019

Ако държите на вашия дизайн и искате да приложите стила глобално, използвайте това.


res/values/styles.xml

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

res/drawable/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>

Всички останали отговори са създадени от разработчици, а не от дизайнери като мен.

Резултат

Добра лента за превъртане

person Michael    schedule 25.02.2015
comment
Това е, което търсих! Tnx Майкъл! - person Michael van der Horst; 21.07.2016
comment
Съжалявам, че не можах да дам повече от един глас за. Този отговор заслужава 100. - person X09; 10.04.2017

Опитайте да активирате бързото превъртане, то върши работата през повечето време:

<ListView
    android:id="@+id/chapter_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fastScrollEnabled="true"/>
person Zahid Khan    schedule 08.07.2017
comment
Това не дава отговор на въпроса. - person nyconing; 08.04.2019