2016-10-10 11 views
3

カスタムBasicScrollBarUIを使用してScrollBarの色を再設定するにはどうすればよいですか?カスタムScrollBar UIの色を更新する

私は、色を最初に設定するためにこれを使用することができます知っている:しかし、それはコンストラクタで呼ばれています

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

、私は手動で再びそれを呼び出すことはできません。

スクロールバーの色が必要な場合は、アクショントリガーを変更する必要があります。

どうすればよいですか?

+3

を助けなら、私に知らせてください(http://stackoverflow.com/a/16375805/714968)によって投稿@aterai – mKorbel

答えて

0

私は何が必要かわからないけど[あなたがコードで開始することができます]これは

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)); 
関連する問題