我如何制作一个自定义指标,使用带有SwipeRefreshLayout
自定义动画的可绘制对象?
我查看了SwipeRefreshLayout
的源代码,发现CircleImageView
对象是私有的。
无论如何都要修改ImageView
?
答案 0 :(得分:26)
您可以通过反射更改drawable,不确定这个想法有多好。类似的东西:
mSwipeRefreshLayout = (SwipeRefreshLayout)findViewById(R.id.your_swiperefresh_id);
try {
Field f = mSwipeRefreshLayout.getClass().getDeclaredField("mCircleView");
f.setAccessible(true);
ImageView img = (ImageView)f.get(mSwipeRefreshLayout);
img.setImageResource(R.drawable.your_drawable_file);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
答案 1 :(得分:3)
试试https://github.com/liaohuqiu/android-Ultra-Pull-To-Refresh。 修改系统小部件很麻烦。
答案 2 :(得分:0)
如果您不想像上面的示例那样使用反射,则可以从SwipeRefreshLayout的0索引中获取子对象。它将使用CircleImageView,因此您可以为其设置任何Drawable。