Android 中带有进度条效果的按钮(Button)

安卓中带有进度条效果的按钮,如下图:

1.布局文件如下activity_main.xml

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="fill_parent"
 4     android:layout_height="fill_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".MainActivity" >
10
11     <TextView
12         android:id="@+id/text"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="带有进度条的Button" />
16
17     <RelativeLayout
18         android:layout_width="fill_parent"
19         android:layout_height="50dp"
20         android:layout_centerHorizontal="true"
21         android:layout_centerVertical="true"
22         android:gravity="bottom" >
23
24         <ProgressBar
25             android:id="@+id/progressBar"
26             style="?android:attr/progressBarStyleHorizontal"
27             android:layout_width="fill_parent"
28             android:layout_height="fill_parent"
29             android:background="@drawable/aa_button_gray_normal"
30             android:max="100"
31             android:progress="0"
32             android:progressDrawable="@drawable/progress_selector" />
33
34         <Button
35             android:id="@+id/downLoadBtn"
36             android:layout_width="fill_parent"
37             android:layout_height="fill_parent"
38             android:layout_centerHorizontal="true"
39             android:layout_centerVertical="true"
40             android:background="@drawable/btn_selector"
41             android:text="下载" />
42     </RelativeLayout>
43
44 </RelativeLayout>

2.java主界面代码如下:MainActivity.java

 1 package com.example.buttondemo;
 2
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.os.Handler;
 6 import android.os.Message;
 7 import android.view.View;
 8 import android.widget.Button;
 9 import android.widget.ProgressBar;
10 import android.widget.TextView;
11
12 public class MainActivity extends Activity {
13     int i = 0;
14     ProgressBar progressBar = null;
15     Button downLoadBtn = null;
16     Handler handler = new Handler() {
17         public void handleMessage(android.os.Message msg) {
18             switch (msg.what) {
19             case 1:
20                 i += 5;
21                 progressBar.setProgress(i);
22                 if (i != 100) {
23                     handler.sendEmptyMessageDelayed(new Message().what = 1, 500);
24                     downLoadBtn.setText(i + "%");
25                 } else if (i == 100) {
26                     downLoadBtn.setText("下载完成");
27                     // 进度条运行完成时按钮可用
28                     downLoadBtn.setEnabled(true);
29                 }
30                 break;
31
32             default:
33                 break;
34             }
35         };
36     };
37
38     @Override
39     protected void onCreate(Bundle savedInstanceState) {
40         super.onCreate(savedInstanceState);
41         setContentView(R.layout.activity_main);
42         TextView tx = (TextView) findViewById(R.id.text);
43         progressBar = (ProgressBar) findViewById(R.id.progressBar);
44         downLoadBtn = (Button) findViewById(R.id.downLoadBtn);
45         downLoadBtn.setOnClickListener(new View.OnClickListener() {
46
47             @Override
48             public void onClick(View v) {
49                 i = 0;
50                 handler.sendEmptyMessage(new Message().what = 1);
51                 // 进度条运行时按钮不可用
52                 downLoadBtn.setEnabled(false);
53             }
54         });
55     }
56
57 }
时间: 2024-09-29 20:11:56

Android 中带有进度条效果的按钮(Button)的相关文章

android中的进度条

Android中有多种进度条,如转圈的圆环,水平线的进度条.可拉伸的进度条等,各种进度条关系如下 SeekBar是可拉伸的进度条,RatingBar是用于评分的进度条,都属于ProgressBar的子类 ProgressBar有多种风格,如Horizontal.Small.Large.Inverse等 进度条的主要属性 进度条最大值:max 当前进度:progress 次要进度的值:SecondaryProgress progressbar.isIndeterminate(); 用于判断进度条是

可爱!带有数字显示的加载进度条效果插件

可爱!带有数字显示的加载进度条效果插件 有的时候,在我们的应用程序中,我们希望能够显示特定任务的百分比进度.这里分享的这款小巧的 JavaScript 插件就是实现这个功能,易于使用和定制,而且是是免费开源的. 立即下载      在线演示 有的时候,在我们的应用程序中,我们希望能够显示特定任务的百分比进度.这里分享的这款小巧的 JavaScript 插件就是实现这个功能,易于使用和定制,而且是是免费开源的. 关键字:可爱!带有数字显示的加载进度条效果插件 下载地址:https://github

Android -- 真正的 高仿微信 打开网页的进度条效果

(本博客为原创,http://home.cnblogs.com/u/linguanh/) 目录: 一,为什么说是真正的高仿? 二,为什么要搞缓慢效果? 三,我的实现思路 四,代码,内含注释 五,使用方法与截图 六,完整项目 一,为什么说是真正的高仿? 阐述这个问题前,先说下之前网上的,各位可以复制这段字,去百度一下  "仿微信打开网页的进度条效果" ,你会看到有很多类似的文章,不过他们有个共同点,就是实现方法都是一样的,而且,都忽略了微信加载网页时,进度条的缓慢动画效果,它不是生硬地一

Android 从无到有打造一个炫酷的进度条效果

从无到有打造一个炫酷的进度条效果

【转】24. android dialog ——ProgressDialog 进度条对话框详解

原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog,如下: [java] view plaincopy //this表示该对话框是针对当前Activity的 progressDialog = new ProgressDialog(this); //设置最大值为100 progressDialog.setMax(100); //设置进度条风格STYL

ListView总结(多选框ListViiew,动态加载,多线程更新ListView中的进度条)

Why ListView? ListView 如果仅仅出于功能上的需求ListView可能没有存在的必要,ListView能作的事情基本上ScrollView也能胜任.ListView存在的最根本的原因在于它的高效(如何实现的?).ListView通过对象的复用从而减少内存的消耗,也减少了对象的创建从而也减少的cpu的消耗(在Androidk中创建View对象经常伴随着解析xml).ListView的本质是一张bitmap(当然所有的控件文字等在屏幕上看到的最终都会变成bitmap),ListV

Android View 之进度条+拖动条+星级评论条....

PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条...       进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此为之设置一个进度条使应用程序的运行状态更好的反馈给客户...这也就是进度条的作用...因此一般的应用程序都会加入进度条...进度条分为圆形进度条和线性的进度条...目的都是一样的,只是展示的效果是不同的...用代码讲解一下... <LinearLayout xmlns:android="htt

Android自定义控件:进度条的四种实现方式

前三种实现方式代码出自: http://stormzhang.com/openandroid/2013/11/15/android-custom-loading/ (源码在最后) 最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非常常见,例如下载进度.加载图片.打开文章.打开网页等等--都需要这么一个效果让用户知道我们的App正在读取,以构造良好的

Android ProgressBar 反向进度条/进度条从右到左走

最近的项目,有个需求需要使用条状图显示比例,并且右对齐,见下图: 我想到了使用进度条,这样不就不需要在代码动态绘制条状了,省了很多活. 那么进度条怎样从右向左显示呢? 方案一: 将ProgressBar的前背景反着用,将前景色设置为和整个大背景同一色,将背景设置为你要的条状图颜色,这样就看不出实际的进度,看到的是进度背景,在视觉上看上去就是右对齐了.实际上还是原来那个进度条. 缺点:我这个进度条是放在ListView的item中的,点击listview,因为listview有选中的背景显示出来,