首页 > 代码库 > 安卓学习第20课——progressBar
安卓学习第20课——progressBar
<LinearLayout 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" android:orientation="vertical" tools:context="com.example.progressbar.MainActivity$PlaceholderFragment" > <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 定义一个大环形进度条 --> <ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- 定义一个普通环形进度条 --> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" /> <!-- 定义一个小环形进度条 --> <ProgressBar style="?android:attr/progressBarStyleSmall" android:layout_width="match_parent" android:layout_height="wrap_content" /></LinearLayout> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/progress" /> <!-- 水平进度条 --> <ProgressBar android:id="@+id/bar1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:max="100" /> <!-- 自定义水平进度条 --> <ProgressBar android:id="@+id/bar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" android:progressDrawable="@drawable/my_bar" android:max="100" /></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 定义轨道背景 --> <item android:id="@android:id/background" android:drawable="@drawable/no"></item><item android:id="@android:id/progress" android:drawable="@drawable/ok"></item></layer-list>
package com.example.progressbar;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ProgressBar;public class MainActivity extends Activity { private int[] data=http://www.mamicode.com/new int[100]; int hasData=http://www.mamicode.com/0; //记录完成进度 int status=0; ProgressBar bar,bar1; //創建一个负责更新进度的handler Handler mhandler=new Handler(){ public void handleMessage(Message msg) { if(msg.what==0x111){ bar.setProgress(status); bar1.setProgress(status); } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bar=(ProgressBar) findViewById(R.id.bar); bar1=(ProgressBar) findViewById(R.id.bar1); new Thread(){ public void run(){ while(status<100){ //获取耗时操作的完成百分比 status=doWork(); //发送消息 mhandler.sendEmptyMessage(0x111); } } }.start(); } public int doWork() { data[hasData++]=(int) (Math.random()*100); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } return hasData; }}
只里面用到了线程,handler的知识。
安卓学习第20课——progressBar
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。