关于listview自定义滚动条和背景

本文介绍了如何在Android中通过代码和XML方式自定义ListView的滚动条样式,包括设置垂直滚动条的thumb和track Drawable。同时提到了ScrollView的相关属性,如fadeScrollbars、fillViewport、scrollbarStyle等,帮助实现更好的视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     try {
            Field mScrollCacheField = View.class.getDeclaredField("mScrollCache");
            mScrollCacheField.setAccessible(true);
            Object mScrollCache = mScrollCacheField.get(menuListView); // 从listview中获取bar

            Field scrollBarField = mScrollCache.getClass().getDeclaredField("scrollBar");
            scrollBarField.setAccessible(true);
            Object scrollBar = scrollBarField.get(mScrollCache);

            Method method1 = scrollBar.getClass().getDeclaredMethod("setVerticalThumbDrawable", Drawable.class);//滚动条
            method1.setAccessible(true);
            Method method2 = scrollBar.getClass().getDeclaredMethod("setVerticalTrackDrawable", Drawable.class);//滚动条背景
            method2.setAccessible(true);
            method2.invoke(scrollBar, getResources().getDrawable(R.drawable.search_bg));

            // Set your drawable here.
            method1.invoke(scrollBar, getResources().getDrawable(R.drawable.bar1));
        } catch (Exception e) {
            e.printStackTrace();
        }

上面方法是需要代码设置的时候用的,
xml 直接设置
android:scrollbarThumbVertical="@mipmap/item_textview_t"
android:scrollbarTrackVertical="@mipmap/item_textview__bg"
 
另外scrollVie有相关属性,
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent"
    android:fadeScrollbars="false"
    android:fillViewport="false"
    android:orientation="vertical"
    android:scrollbarAlwaysDrawVerticalTrack="true"
    android:scrollbarStyle="outsideInset"             //显示位置样式
    android:scrollbarThumbVertical="@drawable/bar1"   <span style="font-size: 13.0667px; font-family: 'Courier New';">//这是滑块</span>
    android:scrollbarTrackVertical="@drawable/bar2"   //这是背景
    android:scrollbars="vertical"
    android:verticalScrollbarPosition="left"/>
贴上一个网站供参考以后用:http://www.cnblogs.com/frydsh/archive/2012/09/18/2691011.html

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值