Android中ProgressBar用法简单实例
作者:马到成功 发布时间:2022-09-21 05:27:55
标签:Android,ProgressBar
本文实例讲述了Android中ProgressBar用法。分享给大家供大家参考,具体如下:
在android中会经常用到ProgressBar,下面通过举例来说明如何使用ProgressBar。
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ProgressBar;
public class A03Activity extends Activity {
private ProgressBar rectangle,circle;
private Button showProgressBar;
private final static int STOP=0x10000;
private final static int NEXT=0x10001;
private int count=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rectangle=(ProgressBar)findViewById(R.id.rectangle);
circle=(ProgressBar)findViewById(R.id.circle);
showProgressBar=(Button)findViewById(R.id.showProgressBar);
rectangle.setIndeterminate(false);
circle.setIndeterminate(false);
showProgressBar.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
rectangle.setVisibility(View.VISIBLE);
circle.setVisibility(View.VISIBLE);
rectangle.setMax(100);
rectangle.setProgress(0);
circle.setProgress(0);
Thread t=new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
for(int i=0;i<20;i++){
try {
count=(i+1)*5;
Thread.sleep(1000);
if(count==19){
Message msg=new Message();
msg.what=STOP;
handler.sendMessage(msg);
break;
}
else{
Message msg=new Message();
msg.what=NEXT;
handler.sendMessage(msg);
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
});
t.start();
}
});
}
private Handler handler=new Handler(){
@SuppressWarnings("static-access")
public void handleMessage(Message msg){
switch(msg.what){
case STOP:
rectangle.setVisibility(View.GONE);
circle.setVisibility(View.GONE);
Thread.currentThread().interrupt();
break;
case NEXT:
if(!Thread.currentThread().interrupted()){
rectangle.setProgress(count);
circle.setProgress(count);
}
break;
}
}
};
}
res/layout/main.xml如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<ProgressBar
android:id="@+id/rectangle"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
mce_style="?android:attr/progressBarStyleHorizontal"
android:visibility="gone"
/>
<ProgressBar
android:id="@+id/circle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleLarge"
mce_style="?android:attr/progressBarStyleLarge"
android:visibility="gone"
/>
<Button
android:id="@+id/showProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="show ProgressBar"
/>
</LinearLayout>
希望本文所述对大家Android程序设计有所帮助。


猜你喜欢
- 在IntelliJ IDEA 中这个查看一个类也就是当前类的所有继承关系,包括实现的所有的接口和继承的类,这个继承,不仅仅是一级的继承关系,
- 什么是JMX?什么是JMX,Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理
- C#操作Excel的方法有很多种,常见的有微软官方的OLE Automation,Apache的POI等。这里介绍的是POI翻译成C#的NP
- 这篇文章主要介绍了springboot配置文件绑定实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- 原理比较简单,引入System.Reflection命名空间,利用反射查看某种Type下的方法,属性,字段和支持的接口等。using Sys
- 背景银行跨行转账业务是一个典型分布式事务场景,假设 A 需要跨行转账给 B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的
- OO思想现在已经在软件开发项目中广泛应用,其中最重要的一个特性就是继承,最近偶简单的复习了下在C#中涉及到继承这个特性时,所需要用到的关键字
- 最近做项目有这样的需求: 在activity中启动一个dialog时, 启动的dialog的背景设为启动acitivity的模糊化图片.实现
- 首先,引入依赖:<dependency> <groupId>org.springframe
- Java 17 更新了,作为一个 10 年的 Java 程序员,还是有亿点点兴奋的,Kotlin 的群里面也是各种讨论 Java 的新特性。
- 前言 今天在看Android ContentProvider实现的时候,突然想到了Java类在new的过
- 一、什么是状态管理大到整个app的状态,用户使用app是登录状态,还是游客状态;小到一个按钮的状态,按钮是点击选中状态还是未点击状态等等,这
- C#时间/日期格式大全,C#时间/日期函数大全有时候我们要对时间进行转换,达到不同的显示效果默认格式为:2005-6-6 14:33:34如
- 前言前面说到在我们应对高并发的场景,请求量过于大的情况下给我们服务器的压力很多,造成缓存穿透、击穿、雪崩,那么我们采用布隆过滤器,有兴趣的小
- 要获得打印机的状态,应该定义一个联合.enum PrinterStatus { 其他状态= 1, 未知, 空闲
- 概述最近重新回顾了一下数据结构和算法的一些基本知识,对几种排序算法有了更多的理解,也趁此机会通过博客做一个总结。1.选择排序-简单选择排序选
- 前言两个数据结构:顺序表和链表数据结构是一门学科,和语言无关。数据 + 结构:一种描述和组织数据的方式。1. 顺序表顺序表是用一段物理地址连
- static 表示静态,它可以修饰属性,方法和代码块。1.static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这
- 本文实例为大家分享了java实现抽奖功能的具体代码,供大家参考,具体内容如下抽一个:输入抽奖人数,生成随机数字进行抽奖。比如:楼主抽幸运儿送
- 一、背景当我们在drools中编写规则时,有些时候存在重复的代码,那么我们是否可以将这些重复代码抽取出来,封装成一个function来调用呢