频道栏目
首页 > 程序开发 > 软件开发 > 其他 > 正文
自定义圆形滚动条(透明效果)--利用开源项目ProgressWheel
2015-04-24 10:26:10      个评论    来源:liranke的专栏  
收藏   我要投稿

开源项目ProgressWheel为我们提供了多样化的圆形滚动条,本篇带领读者利用它来实现自定义的滚动条。在官方demo中,一屏显示了好几种风格,而本篇只介绍一种风格,就是居中显示,透明布局。 而且使用static进行了封装,启动和关闭都只需要一行代码即可完成。

 

开源项目ProgressWheel地址:
https://github.com/Todd-Davies/ProgressWheel

开源项目ProgressWheel效果图:
这里写图片描述

自定义滚动条(透明效果)的实现:<喎"/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxoMyBpZD0="1-xml">1). xml:




    

2). 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);

最后,附上自定义滚动条(透明效果)的效果图:
这里写图片描述

开源的力量是无穷的!

点击复制链接 与好友分享!回本站首页
相关TAG标签 圆形 效果 项目
上一篇:模式串匹配--KMP算法
下一篇:自定义组件:DIY标题栏
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站