2015-07-02 3 views
0

Как изменить цвет моей полосы прокрутки программно?Изменение цвета полосы прокрутки программно

ScrollView scrollView1 = new ScrollView(context); 
scrollView1.LayoutParameters = lparams; 
scrollView1.LayoutParameters.Height = chartHeight; 
scrollView1.LayoutParameters.Width = scrollWidth; 

Я хочу создать ПРОЗРАЧНУЮ полосу прокрутки.

+0

см это http://stackoverflow.com/questions/21806852/change-the-color-of-scrollview-programmatically – sasikumar

+0

Я использую Xamarin Android (код C#), а не Java – Kirill

+0

Этот парень хотел изменить скорость полосы прокрутки. http://forums.xamarin.com/discussion/comment/20938/#Comment_20938 Кажется, что вам нужно будет создать клиента ScrollView Control – InitLipton

ответ

0

Вы можете достичь этого с помощью отражения:

try 
{ 
    Field mScrollCacheField = View.class.getDeclaredField("mScrollCache"); 
    mScrollCacheField.setAccessible(true); 
    Object mScrollCache = mScrollCacheField.get(listview); 
    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); 
    method.invoke(scrollBar, getResources().getDrawable(R.drawable.scrollbar_style)); 
} 
catch(Exception e) 
{ 
    e.printStackTrace(); 
} 
+0

У меня нет класса Field, View.class, Object – Kirill

Смежные вопросы