• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 安卓高级组件-----进度条,安卓-----进度条

安卓高级组件-----进度条,安卓-----进度条

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了安卓四大组件,安卓四大组件详解,安卓四大组件是什么,安卓四大组件的作用,安卓ui组件等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

安卓高级组件-----进度条,安卓-----进度条


        进度条组件是安卓重要组件之一。当后台某个程序执行时,前台进度条动态显示了程序执行进度的百分比。是耗时较长的程序让用户觉得在自己的掌控之中,提高程序的友好型。

        安卓支支持几种风格的进度条,能通过style属性呢设置进度条风格,该属性如下:

        @android:style/Widget.ProgressBar.Horizontal    水平进度条

        @android:style/Widget.ProgressBar.Inverse        普通环形进度条

        @android:style/Widget.ProgressBar.Large           大环形进度条

        @android:style/Widget.ProgressBar.Large.Inverse   大环形进度条

        @android:style/Widget.ProgressBar.Small            小环形进度条

        @android:style/Widget.ProgressBar.Small.Inverse   小环形进度条

        同时,进度条在xml文件中还要如下属性:

        android:max          设置进度条最大值

        android:rpogress    指定进度条已经完成的进度值

        android:ProgressDrawable     指定进度条轨道的绘制形式

进度条组件有两个最常用的方法:setProgress()设置进度条已经完成的进度;incrementProgressBy()设置进度条进度增加或减少;参数是正数时增加,负数减少;

实例操作:下面我们实现视屏进度条和环形进度条

1.新建工程,在布局中添加两个进度条,一个为环形一个水平进度条

            <ProgressBar
            android:id="@+id/progressBar1"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_gravity="center_horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:max="100"
            android:layout_weight="1" />

        <ProgressBar
            android:id="@+id/progressBar2"
            style="?android:attr/progressBarStyleSmall"
            android:layout_gravity="center_horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

2.主活动中获取进度条,定义一个进度变量和消息处理Handler类对象

        hp = (ProgressBar)findViewById(R.id.progressBar1);
        cp = (ProgressBar)findViewById(R.id.progressBar2);
        h = new Handler(){

            @Override
            public void handleMessage(Message msg) {
                if(msg.what == 0x11){
                    hp.setProgress(progress);
                }else {
                    Toast.makeText(MainActivity.this, "耗时完成", Toast.LENGTH_SHORT).show();        }
                    hp.setVisibility(View.GONE);
                    cp.setVisibility(View.GONE);                    
            }            
        };

3.通过匿名内部类实例化消息处理Handler类对象,重写handlerMessage()方法。耗时没有完成时更新进度,耗时完成之后出现提示

    h = new Handler(){

        public void handleMessage(Message msg) {
            if(msg.what == 0x11){
                hp.setProgress(progress);
            }else {
                Toast.makeText(MainActivity.this, "耗时完成", Toast.LENGTH_SHORT).show();        }
                hp.setVisibility(View.GONE);
                cp.setVisibility(View.GONE);                    
        }            
    }

4.开启线程耗时,sendMessage()发送处理消息

        new Thread(new Runnable() {
            
            @Override
            public void run() {
                while(true){
                    progress = doWork();
                    Message m = new Message();
                    if(progress <= 100){
                        m.what = 0x11;
                        h.sendMessage(m);
                    }else {
                        m.what = 0x10;
                        h.sendMessage(m);
                        break;
                    }
                }
                
            }
            
            private int doWork(){
                progress += Math.random()*10;
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                return progress;
            }
        }).start();

运行代码,可以看到环形进度条和水平进度条更新。

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 安卓高级组件-----网格视图,安卓-----网格
  • 安卓高级组件-----图像切换器,安卓-----切换器
  • 安卓高级组件-----进度条,安卓-----进度条
  • 安卓界面高级组件------拖动条和评星条,安卓------拖动
  • 安卓界面组件----时间日期拾取器,安卓拾取
  • 安卓界面基本组件------计时器,安卓------计时器
  • 安卓高级组件-----自动编辑文本框,安卓-----文本框
  • 安卓组件------列表选择框,安卓组件------列表
  • 安卓界面组件----列表视图,安卓组件----视图
  • 安卓四大组件之内容提供者,安卓四大提供者

相关文章

  • 2017-05-26配置adb环境变量,adb环境变量
  • 2017-05-26android 自学日记(一)
  • 2017-05-26View的layout机制,Viewlayout机制
  • 2017-05-26Android四大组件之Activity
  • 2017-05-26Kotlin操作符重载:把标准操作加入到任何类中(KAD 17),kotlinkad
  • 2017-05-26android插件开发-就是你了!启动吧!插件的activity(一)
  • 2017-05-26Android和JavaScript相互调用的方法,androidjavascript
  • 2017-05-26手机产品设计之用户引导,手机产品设计引导
  • 2017-05-26android:listview实现qq,微信好友列表(头像,昵称,个性签名)
  • 2017-05-26Android之DOM解析XML,androiddomxml

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Android之解析XML,androidxml
    • 追踪表满导致keepalived vip 不通!
    • 《Android Studio实用指南》12.18 文本搜索工具
    • Android 手机卫士--导航界面4的业务逻辑,android卫士
    • Android仿QQ界面,android仿界面
    • Activity的生命周期,Activity生命周期
    • android设备使用usb串口传输数据,android设备usb串口
    • VS2015墙内创建ionic2,vs2015墙ionic2
    • Android Studio多渠道打包
    • 银联支付,支付

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有