<ScrollView
            android:id="@+id/scroll_view"
            android:layout_width="match_parent"
            android:layout_height="440dp"
            android:paddingLeft="40dp"
            android:paddingRight="26px"
            android:paddingTop="40dp"
            android:scrollbarThumbVertical="@drawable/custom_scrollbar_thumb"
            android:scrollbarTrackVertical="@drawable/custom_scrollbar_track"
            android:fadeScrollbars="false">

源码没有对外提供接口,在源码中找到方法,请添加图片描述
反射

    private void changeScrollViewProgress(View view, Drawable thumb, Drawable track) {
        try {
            Field mScrollCacheField = View.class.getDeclaredField("mScrollCache");
            mScrollCacheField.setAccessible(true);
            Object mScrollCache = mScrollCacheField.get(view);
            Field scrollBarField = mScrollCache.getClass().getDeclaredField("scrollBar");
            scrollBarField.setAccessible(true);
            Object scrollBar = scrollBarField.get(mScrollCache);
            Method method = scrollBar.getClass().getDeclaredMethod("setVerticalThumbDrawable", Drawable.class);
            Method method1 = scrollBar.getClass().getDeclaredMethod("setVerticalTrackDrawable", Drawable.class);
            method.setAccessible(true);
            method1.setAccessible(true);
            method.invoke(scrollBar, thumb);
            method1.invoke(scrollBar, track);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐