package xiaohang.zhimeng;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.ProgressBar;
public class Activity01 extends Activity {
//声明ProgressBar对象
private ProgressBar xh_ProgressBar;
private ProgressBar xh_ProgressBar2;
private Button xh_Button;
protected static final int GUI_STOP_NOTIFIER = 0x108;
protected static final int GUI_THREADING_NOTIFIER = 0x109;
public int intCounter = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//设置窗口模式,因为需要显示进度条在标题栏
// requestWindowFeature(Window.FEATURE_PROGRESS);
// setProgressBarVisibility(true);
setContentView(R.layout.main);
//得到ProgressBar
xh_ProgressBar = (ProgressBar) findViewById(R.id.ProgressBar01);
xh_ProgressBar2 = (ProgressBar) findViewById(R.id.ProgressBar02);
xh_Button = (Button) findViewById(R.id.Button01);
//设置进度条 不为 不确定模式
xh_ProgressBar.setIndeterminate(false);
xh_ProgressBar2.setIndeterminate(false);
//当按钮按下时开始执行
xh_Button.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
//设置ProgressBar为可见状态
xh_ProgressBar.setVisibility(View.VISIBLE);
xh_ProgressBar2.setVisibility(View.VISIBLE);
//设置ProgressBar的最大值
xh_ProgressBar.setMax(100);
//设置ProgressBar当前值
xh_ProgressBar.setProgress(0);
xh_ProgressBar2.setProgress(0);
//通过线程来改变ProgressBar的值
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
try {
//设置进度值
intCounter = (i + 1) * 20;
//睡眠1000毫秒
Thread.sleep(1000);
if (i == 4) {
Message m = new Message();
m.what = Activity01.GUI_STOP_NOTIFIER;
Activity01.this.myMessageHandler
.sendMessage(m);
break;
} else {
Message m = new Message();
m.what = Activity01.GUI_THREADING_NOTIFIER;
Activity01.this.myMessageHandler
.sendMessage(m);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}).start();
}
});
}
Handler myMessageHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
//ProgressBar已经是最大值
case Activity01.GUI_STOP_NOTIFIER:
xh_ProgressBar.setVisibility(View.GONE);
xh_ProgressBar2.setVisibility(View.GONE);
Thread.currentThread().interrupted();
break;
case Activity01.GUI_THREADING_NOTIFIER:
if (!Thread.currentThread().isInterrupted()) {
//改变ProgressBar的当前值
xh_ProgressBar.setProgress(intCounter);
xh_ProgressBar2.setProgress(intCounter);
//设置标题栏中前景的一个进度条进度值
setProgress(intCounter * 100);
}
break;
}
super.handleMessage(msg);
}
};
}
XML 文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
<ProgressBar
android:id="@+id/ProgressBar01"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:visibility="gone"
/>
<ProgressBar
android:id="@+id/ProgressBar02"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="100"
android:progress="50"
android:secondaryProgress="70"
android:visibility="gone"
/>
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="开始"/>
</LinearLayout>
- 大小: 19 KB
分享到:
相关推荐
"Android 自定义图片加载进度条"就是解决此类需求的一种方法。本文将详细介绍如何创建一个自定义的加载进度条,以及如何实现一个圆形进度条来展示图片加载的百分比。 首先,我们从基础开始。Android原生系统并未...
通过以上步骤,你就可以在Android应用中实现一个具有加载进度条的WebView了。这个功能对于提升用户体验至关重要,因为它让用户知道应用正在忙碌并给予加载过程的视觉反馈,降低了用户对等待时间的感知。同时,合理的...
在本教程中,我们将深入探讨如何创建一个自定义的加载进度条。加载进度条是移动应用中常见的组件,用于显示任务的进度或者等待状态,提升用户体验。 首先,我们来理解Android中的View类。它是所有UI元素的基础,...
在Android开发中,有时我们需要为用户展示一种直观的加载效果,圆形加载进度条就是这样一种常见的UI元素。"android圆形加载进度条"是一个专为Android应用设计的组件,它能够以圆形的形式显示数据加载的进度,既美观...
这种弧形进度条通常用于显示任务或操作的完成度,例如加载、缓冲或计时等场景,能够为用户界面增添视觉吸引力和动态感。 首先,我们要理解弧形进度条的基本原理。在Android中,我们可以自定义View来实现这个功能。...
Android项目源码-Android 加载网页进度条.zip
在Android开发中,为了提升用户体验,开发者经常需要使用到加载进度条来显示任务的执行进度,比如文件下载、网络请求等。本篇文章将详细讲解Android系统中的三种不同类型的加载进度条,并以`AnimRoundProcessDialog`...
总结,实现Android的自定义进度条加载动画涉及到UI设计、动画处理、自定义View等多个方面,开发者需要熟练掌握Android的基本组件和图形绘制原理,同时兼顾用户体验和性能优化。通过以上知识点的实践,可以创建出独特...
我看了一下网上加载进度条的方式,几乎都是自定义继承imageView画进度,这样扩展性不好,比如有时候我要用到手势缩放。但这个开源并不是,采用drawable注入imageView的方式,可以支持Android四大图片框架和其他的...
"android Image加载进度条源码.rar" 提供了一个用于显示图片加载进度的解决方案,这对于提升用户体验,尤其是网络环境不稳定时,让用户了解图片加载状态非常有用。 首先,我们需要理解Android中的图片加载库,如...
这个"android ProgressBar进度条等待demo"是一个示例项目,旨在帮助开发者理解如何在应用程序中实现不同类型的进度条,包括横线进度条、圆形加载中效果以及自定义的ProgressBar。 1. **横线进度条**: 横线进度条...
然而,这里我们将探讨如何创造性地利用RatingBar来实现一个登录时的加载进度条效果。这个概念可以提升用户体验,使得用户在等待登录验证时有一个直观的反馈。 首先,我们需要了解RatingBar的基本属性和方法。...
在Android开发中,进度条是常见的一种UI组件,用于展示任务执行的进度或者等待状态。在本案例中,我们关注的是水平进度条,它通常以条状的形式沿水平方向显示当前进度。源码分析将帮助我们理解其工作原理并进行...
Android RadarView漂亮的加载进度条可实现自定义视图RadarView看起来像一个搜索雷达。通过 new Thread()方式来实现循环滚动搜索,在根据角度设置starModel.setAlpha()。
总结,实现“自定义圆弧加载进度条”需要对Android图形绘制、自定义视图以及动画机制有深入理解。通过以上步骤,我们可以创建一个具有高度可定制性和交互性的进度条组件,满足各种UI设计需求。在实际项目中,这样的...
这个开源项目提供了一些预定义的加载动画和进度条样式,可以直接集成到你的应用中。通过`CustomLoading`库,你可以快速地添加动态的、吸引人的进度条效果,如旋转的环形、波纹扩散等。只需在布局文件中引入对应的...
本Demo主要展示了如何在Android应用中实现一个带有进度条的WebView,让用户在加载网页时能清楚地看到加载进度。下面我们将深入探讨这个Demo涉及到的关键知识点。 1. **自定义View**: 自定义View是Android开发中的...
android 仿微信加载进度条demo 详情查看:http://blog.csdn.net/cc_want/article/details/73863619
本资源“安卓进度条loadingprogress相关-Android菊花进度条打开在加载过程中显示菊花效果.rar”显然是提供了一种实现菊花(Spinner)样式进度条的方法。菊花进度条通常在数据加载、网络请求或其他耗时操作时显示,为...