gpt4 book ai didi

java - 更新自定义 ScrollBar UI 的颜色

转载 作者:行者123 更新时间:2023-12-02 05:17:36 25 4
gpt4 key购买 nike

如何使用自定义 BasicScrollBarUI 重新设置 ScrollBar 的颜色?

我知道我可以第一次使用它来设置颜色:

protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)

但是,这是由构造函数调用的,我无法再次手动调用它。

我需要滚动条的颜色来更改操作触发的时间。

我该如何解决这个问题?

最佳答案

我不确定您需要什么,但请告诉我这是否有帮助

ScrollView scr = (ScrollView)findViewById(R.id.scrollView1);
try
{
Field mScrollCacheField = View.class.getDeclaredField("mScrollCache");
mScrollCacheField.setAccessible(true);
Object mScrollCache = mScrollCacheField.get(scr); // scr is your Scroll View

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

Method method = scrollBar.getClass().getDeclaredMethod("setVerticalThumbDrawable", Drawable.class);
method.setAccessible(true);

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

listview.mScrollCache.scrollBar.setVerticalThumbDrawable(getResources().getDrawable(R.drawable.scrollbar_style));

关于java - 更新自定义 ScrollBar UI 的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39949798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com