Android UI组件进阶(1)——带进度条的按钮
本节引言:
这个系列是继Android UI组件实例大全后的进阶系列,在该系列中我们将进一步的学习
Android UI组件,建议阅读本系列前线学习下UI组件实例大全系列,掌握基本组件的使用;
当然你也可以直接学习本系列!好了,废话不多说,直接开始第一节吧!本节要演示的是:
带进度条的按钮!相信大家在360手机助手到看到这个东东吧:
本节要实现的就是下方这个点击后显示进度的按钮
效果图:
必备基础:
1.进度条的一些属性:
background:设置背景图片
max:设置进度条的最大值
progress:设置进度条的值
style="?android:attr/progressBarStyleHorizontal" :定义进度条为水平方向的风格
progressDrawable:当我们不想使用系统默认的Progress时可以自己定义一个,这个资源文件就是
用来调用我们自己定义的Progress图标的一般是在drawable下建立一个.xml件使用layer-list来组
织这些图标.
2.Handler的相关方法:
对UI的操作要么在主线程中进行,要么在handler中进行,切忌别在新线程中直接操作UI组件,会报异常的!
handleMessage(msg):使用Handle需要重写的主要方法,使用msg.what判断标识码,执行对应操作
sendEmptyMessage(0x123):发送一个空信息给handle,标识码为0x123
sendEmptyMessageDelayed(0x321,500);发送一个空信息给handler,标识码为0x321,延迟500毫秒后发送
工程解析:
相关代码:
MainActivity.java
- package com.jay.uidemo.progressbuttondemo;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ProgressBar;
- import android.widget.TextView;
- public class MainActivity extends Activity {
- int i=0;
- ProgressBar progressBar=null;
- Button downLoadBtn=null;
- Handler handler=new Handler(){
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case