- 浏览: 200830 次
- 性别:
- 来自: 上海
文章分类
最新评论
还记得前面的ProgressDialog吗?在应用时,必须新建ProgressDialog对象,在运行时会弹出"对话框"作为提醒,此时应用程序的后台失去焦点,知道进程结束后,才能重新获取焦点,而在ProgressBar中,可以提示User后台程序正处于忙碌,也可以不让后台失去焦点。
另外,系统默认的ProgressBar是小圆圈,你可以自己设置ProgressBar。如果你想要一个水平的进度条,你可以用android自带的样式。如下:
android:progressDrawable="@android:drawable/progress_horizontal"设置progressBar的mode(是圆圈还是长条等等)
android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"设置progressBar.setIndeterminate(true)时的progressBar的背景进度Bar
部分代码:
另外,系统默认的ProgressBar是小圆圈,你可以自己设置ProgressBar。如果你想要一个水平的进度条,你可以用android自带的样式。如下:
<ProgressBar android:id="@+id/progressBar1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" style="?android:attr/progressBarStyleHorizontal"/>
android:progressDrawable="@android:drawable/progress_horizontal"设置progressBar的mode(是圆圈还是长条等等)
android:indeterminateDrawable="@android:drawable/progress_indeterminate_horizontal"设置progressBar.setIndeterminate(true)时的progressBar的背景进度Bar
部分代码:
package com.kevin.processbar; import android.R.integer; 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; import android.widget.TextView; public class Main extends Activity { private static final int STOP = 1; private static final int UPDATE = 2; private int count = 0; private TextView tv_title; private Button btn_progress; private ProgressBar progressBar; private Handler handler; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tv_title = (TextView) findViewById(R.id.tv_title); progressBar = (ProgressBar) findViewById(R.id.progressBar1); progressBar.setIndeterminate(false); btn_progress = (Button) findViewById(R.id.button1); btn_progress.setOnClickListener(new ProgressButtonClickListener()); handler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case UPDATE: if(!Thread.currentThread().isInterrupted()){ /* * 默认的ProgressBar(也就是转圈圈的那种),该方法对它没任何作用 * 另外如果你的进度条是一根长条,但是你设置了progressBar.setIndeterminate(true); * 下面的方法同样没有作用 */ progressBar.setProgress(count); System.out.println(progressBar.getProgress()); tv_title.setText(getString(R.string.start) + "(" + String.valueOf(count) + "%" + ")\n" + "Progress:" + String.valueOf(progressBar.getProgress()) + "\n" + "Indeterminate: " + Boolean.toString(progressBar.isIndeterminate())); } break; case STOP: tv_title.setText(R.string.finish); // 设置ProcessBar为隐藏 progressBar.setVisibility(View.GONE); Thread.currentThread().isInterrupted(); break; default: break; } super.handleMessage(msg); } }; } class ProgressButtonClickListener implements OnClickListener{ @Override public void onClick(View v) { tv_title.setText(R.string.start); // 将隐藏的ProgressBar显示出来 progressBar.setVisibility(View.VISIBLE); // 指定ProgressBar最多为100 progressBar.setMax(100); // 设置ProgressBar的初始值 progressBar.setProgress(0); // 开启一个线程 new Thread(new Runnable() { @Override public void run() { for(int i = 0 ; i < 10; i++){ try{ count = (i + 1) * 10; Thread.sleep(1000); if(i == 9){ Message msg = new Message(); msg.what = STOP; handler.sendMessage(msg); break; }else{ Message msg = new Message(); msg.what = UPDATE; handler.sendMessage(msg); } }catch (Exception e) { e.printStackTrace(); } } } }).start(); } } }
- ProcessBarDemo4.zip (47.2 KB)
- 下载次数: 49
发表评论
-
Linkify规则
2011-07-15 15:36 1079Linkify对象可以让系统动态获取,并迅速做出判断;也就 ... -
AppWidget
2011-07-15 15:21 1455以前我们所见的Widget都是以Activity为主体的, ... -
SlidingDrawer
2011-07-15 13:11 2474SlidingDrawer(隐藏式抽屉),它配置上采用了水 ... -
图片处理
2011-07-15 10:14 988Android中提供了Bitmap和BitmapFacto ... -
ListView
2011-07-15 09:12 2118这里主要说一下,ListView支持OnItemClick ... -
GridView
2011-07-14 16:50 3174GridView是一个类似于"表格化" ... -
DatePicker和TimePicker
2011-07-14 13:42 1143难点没什么难点,主要注意一下,DatePicker的OnD ... -
AnalogClock和DigitalClock
2011-07-14 13:07 1316本篇主要介绍一下AnalogClock和DigitalCl ... -
AutoCompleteTextView
2011-07-14 11:09 1398AutoCompleteTextView具有自动提示功能, ... -
Spinner
2011-07-14 09:44 1621Spinner控件的使用: 1. 创建SpinnerA ... -
RadioGroup
2011-07-13 16:24 1687RadioGroup是用于让用户进行单选的选择按钮,用法很 ... -
自定义Toast效果
2011-07-13 15:18 1273Toast友好用户提示。下面是自己自定义一个Toast。显 ... -
EditText输入内容即时捕捉----OnKeyListner事件
2011-07-13 13:25 3125要想即时捕捉EditText中输入的内容,只要给EditT ... -
Checkbox(打勾显示输入的密码)
2011-07-13 13:04 1677要想判断Checkbox是不是被选中,必须注册OnChec ... -
选择对话框
2011-07-13 11:06 1046这个简单,直接代码 package com.kevin. ... -
ProgressDialog
2011-07-13 10:23 1690ProgressDialog必须要在 ... -
Adapter
2011-07-12 16:25 1073该图为adapter之间的关系。 主要说几点: 1. L ... -
控制不同的文字字体
2011-07-12 15:27 1791TextView对象中有许多 ... -
Menu和AlertDialog对话框
2011-07-12 15:06 1307要在一个activity中实现菜单必须重写两个方法: ... -
startActivityForResult Demo
2011-07-12 14:28 3499startActivityForResult(Itent ...
相关推荐
在Android开发中,ProgressBar是用户界面中非常常见的一种组件,用于表示某个操作的进度或等待状态。本主题聚焦于“带动画的横向ProgressBar”,这种组件能够以动态的方式展示进度变化,提升用户体验。以下是对这个...
在Android开发中,ProgressBar是用户界面(UI)设计中一个重要的元素,用于向用户展示某个操作的进度或者等待状态。通常,系统提供的ProgressBar样式有限,但开发者可以通过自定义来实现更多样化的效果,以满足不同...
在Android开发中,`ProgressBar`是一个非常常见的组件,它用于展示任务执行的进度,比如文件下载、上传或者网络请求等。本教程将深入探讨如何利用`Handler`消息机制来实现`ProgressBar`的动态更新,展示进度条中进度...
在C#编程中,ProgressBar控件是用于向用户显示任务进度的一个重要元素。"Smooth ProgressBar"则是一种增强型的进度条,它提供了平滑、连续的动画效果,使得用户界面更具吸引力和反馈感。在Windows Forms或WPF应用中...
在Windows Forms或WPF应用程序中,`ProgressBar`控件是一个常用元素,用于向用户展示某个操作的进度。在这个场景中,我们需要使用线程技术来控制`ProgressBar`在10秒内逐渐填充,以模拟一个耗时操作的进度。下面将...
【ProgressBar】既进度条,当我们在做一些耗时操作的时候(例如下载文件),可以使用ProgressBar给用户提供一个进度提示,告诉用户当前的进度。 ProgressBar.js 是一个借助动态 SVG 路径的漂亮的,响应式的进度条...
在Android开发中,ProgressBar是一个非常重要的组件,它用于显示进度或等待状态,为用户提供反馈,表明应用程序正在进行后台处理。ProgressBar提供了多种样式和用法,包括水平、垂直、圆形以及自定义样式。本教程将...
在Windows Forms(Winform)开发中,`ProgressBar`控件常用于显示任务进度或等待状态。然而,系统默认的`ProgressBar`样式较为简单,可能无法满足开发者对于界面美观度的需求。`winform c# ProgressBar特殊样式style...
在C#编程中,`progressBar`控件是Windows Forms应用程序中常见的元素,用于向用户显示操作的进度。默认情况下,进度条仅通过其填充部分的长度来表示进度,但有时候我们希望更直观地显示进度,例如以百分比的形式。本...
在Windows Presentation Foundation (WPF) 中,ProgressBar 是一个常见的控件,用于显示应用程序执行过程中的进度。本项目“WPF实现ProgressBar气泡显示进度值”着重于改进此控件,使其能够以更直观的方式呈现进度...
在Windows Presentation Foundation (WPF) 中,ProgressBar 是一个非常有用的控件,用于显示进度或操作完成的百分比。当我们想要创建一个美观且引人注目的界面时,圆形ProgressBar(也称为环形进度条)是一个很好的...
在Android开发中,ProgressBar是用于显示进度或加载状态的一个组件,它可以帮助用户了解应用程序后台运行的任务正在处理中。本主题将深入探讨如何自定义ProgressBar,特别是实现“菊花加载”效果,这种效果通常在...
在Windows Presentation Foundation (WPF) 中,ProgressBar是一个用于显示进度的可视化控件,通常用于表示一个操作的完成度。在本教程中,我们将探讨如何利用ProgressBar控件来创建一个垂直的温度计效果,以实现一个...
ProgressBar是Android系统中一个常用的组件,它用于显示进度或加载状态。在Android开发中,我们经常需要自定义ProgressBar以满足不同界面设计的需求。本篇文章将深入探讨ProgressBar的几个常见样式以及如何自定义一...
在C# WPF应用开发中,动态添加ProgressBar到ListView是一种常见的需求,特别是在处理大量数据或者进行后台任务执行时,为了提供用户友好的界面反馈。在VS(Visual Studio)开发环境中,我们可以利用WPF的灵活性和...
在Android开发中,ProgressBar是一个非常常见的控件,用于显示进度状态,可以是线性的或圆形的。本篇文章将深入探讨Android中的ProgressBar及其两个主要子类SeekBar和RatingBar的使用方法。 首先,我们来了解...
"C# Winform 自定义进度条ProgressBar"的主题正聚焦于这一需求,允许开发者根据自己的喜好或者项目需求改变默认进度条的外观,特别是其背景颜色。 进度条(ProgressBar)是Windows应用程序中常见的一种组件,用于...
在C# Winform应用开发中,进度条控件(ProgressBar)是用户界面中不可或缺的一部分,它为用户提供关于长时间运行操作的进度反馈。本教程将详细讲解如何在Winform应用程序中创建一个带有进度显示的进度条。 首先,让...
进度条样式在项目中经常可以见到,下面小编给大家分享Android三种方式实现ProgressBar自定义圆形进度条。 Android进度条有4种风格可以使用。 默认值是progressBarStyle。 设置成progressBarStyleSmall后,图标变小...