android中ProgressDialog
来源:互联网 发布:算法帝国 编辑:程序博客网 时间:2024/05/22 02:04
音乐播放器的进度条提示-ProgressBar,构建一个小程序,点击按钮后,出现进度条。
首先构建按钮布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="确定" android:onClick="click"/></RelativeLayout>
点击确定按钮,进度条缓慢加载,下面给出主程序。
package com.example.progressbar;import android.app.Activity;import android.app.Dialog;import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;//** 进度条,showDialog调用createDialog()和onPrepareDialog(),createDialog()方法调用onCreateDialog();public class MainActivity extends Activity {private final int PROGRESS_DIALOG = 0;private final int INCREASE = 0;private ProgressDialog pd;private Handler handler;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}public void click(View v){showDialog(PROGRESS_DIALOG);handler = new Handler(){public void handleMessage(Message msg) {switch (msg.what) {case INCREASE:if(pd.getProgress()<100){pd.incrementProgressBy(1);}break;}};};}@Overrideprotected Dialog onCreateDialog(int id) {switch (id) {case PROGRESS_DIALOG:pd = new ProgressDialog(this);pd.setMax(100);pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);pd.setTitle("音乐播放器");pd.setCancelable(false);pd.show();break;}return pd;}@Overrideprotected void onPrepareDialog(int id, Dialog dialog) {switch (id) {case PROGRESS_DIALOG:new Thread(){@Overridepublic void run() {while(true){handler.sendEmptyMessage(INCREASE);if(pd.getProgress()>=100){pd.dismiss();break;}try {Thread.sleep(40);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}};}.start();break;}}}
点击按钮,调用showDialog(int id)方法,showDialog()方法内部会执行createDialog(id, null, args),同时执行onPrepareDialog()方法,createDialog()方法调用onCreateDialog(int id)在onPrepareDialog()方法中启动了一个工作线程,模拟加载,每增1时线程睡眠0.04秒,在主线程中接收消息实现进度条的增长。在onCreateDialog(int id)方法中实现进度条的初始化。
0 0
- android中ProgressDialog
- android中自定义progressDialog实现
- Android中ProgressDialog的用法
- Android中ProgressDialog自动消失
- Android中ProgressDialog的使用
- android中ProgressDialog与ProgressBar的使用
- android开发中-使用Dialog ProgressDialog
- Android-------对话框中进度条(ProgressDialog)
- Android中ProgressDialog的简单示例
- android中ProgressDialog与ProgressBar的使用
- android开发中-使用Dialog ProgressDialog
- Android中ProgressDialog的简单示例
- Android中ProgressDialog的简单示例
- Android中ProgressDialog的简单示例
- Android中ProgressDialog对话框点击消失
- Android中使用ProgressDialog创建进度对话框
- Android中ProgressDialog的简单示例
- Android中ProgressDialog的简单示例
- [cocos2d-x] --- 使用位图工具自定义字体
- 详解C++ 类的前置声明的使用
- is a detailed look
- TCL语言在Doxygen中应用的一些记录
- 安卓基础(十五)
- android中ProgressDialog
- 那些强悍的PHP一句话后门【转】
- JS 控制文本空输入文字个数相关。
- 【30秒】android模拟器获取ROOT权限!!!安卓
- leetcode 6 ZigZag Conversion
- iOS 上的相机捕捉 UIImagePickerController 与 AVFoundation的区别
- gcc编译器搜索Linux下头文件路径
- TNS:listener does not currently know of SID given in connect descriptor 解决
- Android中的dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()