自定义圆形滚动条(透明效果)--利用开源项目ProgressWheel
来源:互联网 发布:linux文件给用户权限 编辑:程序博客网 时间:2024/05/23 05:09
开源项目ProgressWheel为我们提供了多样化的圆形滚动条,本篇带领读者利用它来实现自定义的滚动条。在官方demo中,一屏显示了好几种风格,而本篇只介绍一种风格,就是居中显示,透明布局。 而且使用static进行了封装,启动和关闭都只需要一行代码即可完成。
开源项目ProgressWheel地址:
https://github.com/Todd-Davies/ProgressWheel本篇代码下载地址:
android-async-http progress-wheel测试程序开源项目ProgressWheel效果图:
自定义滚动条(透明效果)的实现:
1). xml:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:ProgressWheel="http://schemas.android.com/apk/res-auto" android:id="@+id/layout_progress_wheel" android:layout_width="fill_parent" android:layout_height="match_parent" android:layout_gravity="center" android:orientation="vertical" > <com.todddavies.components.progressbar.ProgressWheel android:id="@+id/pw_spinner" android:layout_width="100dp" android:layout_height="100dp" android:layout_gravity="center" ProgressWheel:barColor="#0097D6" ProgressWheel:barLength="100dp" ProgressWheel:barWidth="5dp" ProgressWheel:rimColor="#330097D6" ProgressWheel:rimWidth="10dp" ProgressWheel:text="Loading..." ProgressWheel:textColor="#222" ProgressWheel:contourColor="#330097D6" ProgressWheel:textSize="14sp" /></LinearLayout>
2). style:
<style name="Dialog" parent="android:style/Theme.Dialog"> <item name="android:background">#00000000</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> </style>
3). java代码:
public class LoadingCommentDialog { private static Dialog mDialog = null; private static ProgressWheel mProgressWheel = null; public static void showCommentDialog(Context context, String text) { closeCommentDialog(context); WindowManager m = ((Activity) context).getWindowManager(); Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用 mDialog = new Dialog(context, R.style.Dialog); LayoutInflater inflater = ((Activity) context).getLayoutInflater(); View layout = inflater.inflate(R.layout.layout_progress_wheel, null); mDialog.setContentView(layout); mProgressWheel = (ProgressWheel) layout.findViewById(R.id.pw_spinner); mProgressWheel.setText(text); Window dialogWindow = mDialog.getWindow();// WindowManager.LayoutParams lp = dialogWindow.getAttributes(); lp.gravity = Gravity.CENTER; // lp.x = 20; // 新位置X坐标 // lp.y = 60; // 新位置Y坐标 lp.width = d.getWidth() - 20; // 宽度 // lp.height = (int) (d.getHeight()*0.4); // 高度 dialogWindow.setAttributes(lp); mProgressWheel.spin(); mDialog.show(); } public static void closeCommentDialog(Context context) { if (mProgressWheel!=null) { mProgressWheel.stopSpinning(); mProgressWheel = null; } if (mDialog!=null) { mDialog.dismiss(); mDialog = null; } }}
4). 调用方法:
打开:LoadingCommentDialog.showCommentDialog(mContext,mContext.getString(R.string.loading)); //这里可以自定义圆形中的文字。//YourFouction() //这里,是开始你的线程,或者异步请求,或者耗时的操作...关闭:LoadingCommentDialog.closeCommentDialog(mContext);
最后,附上自定义滚动条(透明效果)的效果图:
开源的力量是无穷的!
代码下载:
android-async-http progress-wheel测试程序
1 0
- 自定义圆形滚动条(透明效果)--利用开源项目ProgressWheel
- 自定义圆形滚动条(透明效果)--利用开源项目ProgressWheel
- 自定义圆形滚动条(在自定义标题栏中显示)--利用开源项目ProgressWheel(二)
- 自定义滚动条效果实现
- android 自定义5.0版本 Progress效果-ProgressWheel(例如,淘宝加载)
- 透明滚动条 HTML
- 自定义圆形加载条
- ProgressWheel:Android开源圆环进度条
- C# winfrom利用多线程实现滚动条效果
- 用svg制作圆形进度条动画效果 js 并且能监听滚动条百分比
- HTML自定义滚动条(仿网易邮箱滚动条)
- Android中自定义ProgressDialog实现加载滚动条(加载中…)效果
- JS自定义滚动条效果+鼠标滚轮事件
- Jquery实现自定义滚动条,DIV滑动效果
- 滚动条效果实现
- 滚动加载条效果
- HTML5第一阶段(第六章定位锚点圆角透明滚动条)
- ProgressWheel
- Mac版手机网页抓包调试工具charles的使用
- 如何备份linux系统
- SharedPreferences存储的使用
- bnu 14327 The Water Bowls[bfs,状态压缩]
- Java基础--异常处理
- 自定义圆形滚动条(透明效果)--利用开源项目ProgressWheel
- django如何发布到正式的服务器
- ExtJS入门之Hello World
- 杂项
- Spring1.1.1+quartz1.8.6实现集群环境下的定时任务
- linux tar 命令
- centos更改163yum源
- IOS开发--一个控件添加后看不见 有哪些可能。
- 消息解耦初探