我有一个任务是为列表视图创建自定义滚动条,据我所知,你可以自定义滚动条的方式在android上非常有限。是否有可能实现完全相同的结果:
如果是这样,你能指出一个很好的例子,或者至少告诉我应该研究什么?
[编辑]同样在滚动时,我希望能够使用拇指图标。
答案 0 :(得分:4)
在活动级别,您可以指定各种属性以指定滚动条。对于给定的滚动条,您可能必须指定scrollbarThumbVertical
,scrollbarTrackVertical
属性。可自定义属性列表在R.attr中指定。
答案 1 :(得分:3)
在res / styles.xml中创建一个主题:
<style name="CustomTheme" parent="android:Theme">
<item name="android:scrollbarTrackVertical">@drawable/scroll_track</item>
<item name="android:scrollbarThumbVertical">@drawable/scroll_thumb</item>
</style>
@drawable/scroll_track
和@drawable/scroll_thumb
必须引用九个修补程序图像或形状绘图。滚动轨迹图像是滚动条的背景。 Scroll thumb负责滚动手柄。然后将主题应用于整个应用程序或AndroidManifest.xml中的活动:
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CustomTheme">
你可以像我解释那样制作这张照片,并且可以根据需要将照片放入可绘画中。
答案 2 :(得分:3)
在drawable中创建这两个xml文件
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="#FF6600"
android:startColor="#FF6600" />
<corners android:radius="4dp"/>
</shape>
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="#FFFFFF"
android:startColor="#FFFFFF" />
<corners android:radius="4dp" />
</shape>
在list_view.xml中使用这两个xml文件
list_view.xml
<ListView android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp"
android:divider="#FF6600"
android:listSelector="@drawable/list_selector"
android:layoutAnimation="@anim/listview_layout_animation"
android:scrollbarThumbVertical="@drawable/scrollbar_vertical_thumb"
android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"
android:scrollbarSize="3dip"
android:fastScrollEnabled="true">
答案 3 :(得分:1)
我最后在listview旁边使用了单独的搜索栏。