针对Android平台:
我需要在自定义的listview垂直滚动条的右侧放置间距。请参见附图。默认滚动条会紧贴到listview的极右侧。
请帮忙解决,谢谢。
如果您关心设计并希望全局应用样式,请使用此方法。
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>
所有其他答案都是由开发人员创建的,而不是像我这样的设计师。
结果
请参考 Android View 文档中关于 android:scrollbarStyle
属性的说明。您可能想要使用的样式是 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">
.
.
.
paddingRight
和 clipToPadding = false
,请使用 outsideOverlay
。 - Johnny Five尝试启用快速滚动,它大多数时候都能完成任务:
<ListView
android:id="@+id/chapter_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fastScrollEnabled="true"/>