2015-10-16 21 views
6

Tôi làm cách nào để tạo chỉ báo tùy chỉnh có thể sử dụng đối tượng có thể kéo được bằng hoạt ảnh tùy chỉnh cho SwipeRefreshLayout?Tạo chỉ báo SwipeRefreshLayout tùy chỉnh?

Tôi đã xem mã nguồn cho SwipeRefreshLayout và tôi nhận thấy đối tượng CircleImageView là riêng tư.

Có cách nào để sửa đổi ImageView không?

Trả lời

20

Bạn có thể thay đổi hình ảnh có thể vẽ qua phản xạ, không chắc ý tưởng này là tốt đến mức nào. Một cái gì đó như:

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(); 
} 
+0

Tự hỏi làm thế nào điều này ảnh hưởng đến đối tượng MaterialProgressDrawable – AndyRoid

+0

điều này sẽ chỉ thay đổi drawable – abhishesh

+0

Tôi muốn đặt một drawable tùy chỉnh, nhưng tôi quan tâm đến CircleImageView. Xem liên kết: https://github.com/android/platform_frameworks_support/blob/master/v4/java/android/support/v4/widget/CircleImageView.java thử nghiệm ngay bây giờ – AndyRoid

Các vấn đề liên quan