LoadingProgressBar(类似SwipeRefreshLayout的加载进度指示器)

额, 图片不能上传??? 郁闷..

这里只说android studio怎么弄. eclipse 自己找包吧!!!

介绍:

MaterialLoadingProgressBar provide a styled ProgressBar which looks like SwipeRefreshLayout's loading indicator(support-v4 v21+)

MaterialLoadingProgressBar提供风格ProgressBar看起来像SwipeRefreshLayout加载的指示器



构建:
compile 'com.lsjwzh:materialloadingprogressbar:0.5.8-RELEASE'


XML的属性:
mlpb_progress_color : 旋转颜色
mlpb_progress_stoke_width: 旋转线的宽度
mlpb_progress_text_visibility: 进度值是否显示
mlpb_show_arrow: 是否显示带有进度箭头
mlpb_enable_circle_background: 是否需要背景


   
   
java:
setProgress: 设置进度值
setColorSchemeResources: 设置旋转线颜色


一般用颜色
(android.R.color.holo_green_light, android.R.color.holo_orange_light
android.R.color.holo_red_light, android.R.color.holo_blue_light)



   
   

xml布局:

<com.lsjwzh.widget.materialloadingprogressbar.CircleProgressBar
android:id="@+id/progress1"
android:layout_width="36dp"
android:layout_height="36dp"
app:mlpb_progress_color="#566da9" 
app:mlpb_progress_stoke_width="3dp"/>

<com.lsjwzh.widget.materialloadingprogressbar.CircleProgressBar
        android:id="@+id/progressBar"
        app:mlpb_show_arrow="true"
        app:mlpb_arrow_height="5dp"
        app:mlpb_arrow_width="10dp"
        app:mlpb_enable_circle_background="true"
        app:mlpb_progress_stoke_width="5dp"
        app:mlpb_progress_text_visibility="visible"
        android:layout_width="60dp"
        android:layout_height="60dp"/>

源码链接








Android中,可以使用SwipeRefreshLayout控件来实现下拉刷新的功能,并且可以添加一个旋转的遮罩来提示用户正在刷新。下面是实现方法: 1. 在XML文件中添加SwipeRefreshLayout控件: ``` <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- 添加需要刷新的布局内容 --> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout> ``` 2. 在Java代码中获取SwipeRefreshLayout控件对象,并设置刷新监听器: ``` SwipeRefreshLayout swipeRefreshLayout = findViewById(R.id.swipe_refresh_layout); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 执行刷新操作 } }); ``` 3. 设置遮罩的颜色: ``` swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_bright); ``` 4. 在布局中添加一个继承自ProgressBar的自定义控件,并将它添加到SwipeRefreshLayout中: ``` <com.example.myapp.LoadingProgressBar android:id="@+id/loading_progress_bar" android:layout_width="50dp" android:layout_height="50dp" android:layout_gravity="center"/> swipeRefreshLayout.addView(loadingProgressBar); ``` 5. 自定义LoadingProgressBar控件,继承自ProgressBar,并实现旋转动画: ``` public class LoadingProgressBar extends ProgressBar { public LoadingProgressBar(Context context) { super(context); init(); } public LoadingProgressBar(Context context, @Nullable AttributeSet attrs) { super(context, attrs); init(); } public LoadingProgressBar(Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(); } private void init() { setIndeterminate(true); getIndeterminateDrawable().setColorFilter( ContextCompat.getColor(getContext(), android.R.color.white), PorterDuff.Mode.SRC_IN); } @Override public void setVisibility(int visibility) { super.setVisibility(visibility); if (visibility == VISIBLE) { startAnimation(); } else { stopAnimation(); } } private void startAnimation() { RotateAnimation rotateAnimation = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotateAnimation.setDuration(1000); rotateAnimation.setInterpolator(new LinearInterpolator()); rotateAnimation.setRepeatCount(Animation.INFINITE); startAnimation(rotateAnimation); } private void stopAnimation() { clearAnimation(); } } ``` 以上就是添加一个刷新时旋转的遮罩的方法,你可以根据具体需求进行更多的设置和调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值