strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">IntentProgressBar</string>
<string name="start">开始</string>
</resources>
main.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">
<ProgressBar android:id="@+id/progressBarId"
android:layout_width="fill_parent" android:layout_height="wrap_content"
style="@android:style/Widget.ProgressBar.Horizontal" android:max="200"
android:visibility="gone" />
<Button android:id="@+id/startButtonId" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/start" />
</LinearLayout>
IntentProgressBarActivity.java
package com.duoguo.android;
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;
/**
* Intent在ProgressBar中的使用
*
* @author shyboy(897948924@qq.com)
*
*/
public class IntentProgressBarActivity extends Activity {
private ProgressBar progressBar;// 声明ProgressBar控件
private Button startButton;// 声明Button控件
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
progressBar = (ProgressBar) findViewById(R.id.progressBarId);// 根据控件id获取ProgressBar控件对象
startButton = (Button) findViewById(R.id.startButtonId);// 根据控件id获取Button控件对象
startButton.setOnClickListener(new StartButtonClickListener());// 为startButton按钮控件添加单击事件监听器
}
// 声明startButton控件的事件监听器
class StartButtonClickListener implements OnClickListener {
@Override
public void onClick(View v) {
progressBar.setVisibility(View.VISIBLE);// 设置progressBar进度条为可见
handler.post(runnable);// 将线程添加到线程队列中
}
}
// 实例化Handler对象,通过handleMessage用来接收队列中的消息
Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
progressBar.setProgress(msg.arg1);// 设置progressBar进度条的第一进度值
handler.post(runnable);// 将线程添加到线程队列当中
}
};
// 实例化线程runnable对象
Runnable runnable = new Runnable() {
int i = 0;
@Override
public void run() {
System.out.println("thread start");
i += 10;
Message message = handler.obtainMessage();// 获取消息对象
message.arg1 = i;// 用成员变量arg1来存放i的值
try {
Thread.sleep(1000);// 线程休眠1s
handler.sendMessage(message);// 将消息添加到消息队列的尾端
if (i == progressBar.getMax()) {
handler.removeCallbacks(runnable);// 将线程对象从消息队列中移除
progressBar.setVisibility(View.GONE);
i = 0;
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
}
希望对你有所帮助,呵呵……
分享到:
相关推荐
在Android开发中,自定义控件是提升应用用户体验和界面独特性的重要手段。本文将深入探讨如何创建一个图文编辑框以及实现菊花样式(也称 loading 动画)的Progressbar,这两个自定义控件。 首先,我们要理解图文...
首先,我们需要了解Android中的进度条(ProgressBar)组件。Android SDK 提供了多种类型的进度条,包括HorizontalProgressBar(水平进度条)和CircularProgressBar(圆形进度条)。在这个场景下,我们可以选择自定义...
这个过程通常会用到`ProgressBar`来显示进度,并利用`DownloadManager`来处理后台的下载任务,同时结合`BroadcastReceiver`和`Toast`对网络状态进行实时反馈。下面将详细阐述这些知识点。 首先,`ProgressBar`是...
在Android中,访问网络和存储系统是需要特定权限的。在AndroidManifest.xml文件中,你需要添加以下权限: ```xml <uses-permission android:name="android.permission.INTERNET" /> <!-- 下载所需 --> ...
【Android实战:新闻客户端】 本项目是一个基于Android Studio的实战案例,主要目的是让...在实际操作中,遇到问题不要害怕,多查阅文档、参考示例,持续迭代和优化你的代码,你将逐渐成为一个熟练的Android开发者。
`Android中文翻译组——Android中文API——android.widget合集(中).chm`文件很可能是这个主题的中文参考手册,包含了这些控件的详细解释、使用示例和API文档,对于初学者来说是一份宝贵的资源。建议读者仔细阅读并...
在多线程环境中,需要确保数据的一致性和安全,可以使用 synchronize 关键字、wait() 和 notify() 方法,或者使用 Java并发工具类如 CountDownLatch 和 CyclicBarrier 进行线程间的同步与通信。 综上所述,Android...
在Android中,我们可以使用系统提供的Intent来调用相机或相册,同时自定义一个图片选择界面展示最近的图片。 2. **预览功能**:用户选中图片后,可以进行预览。预览界面通常会显示多张图片,并提供删除、旋转等操作...
在Android开发中,创建用户界面时经常会涉及到控件的组合与自定义,这不仅可以...在"Android简单组合控件使用"的学习过程中,可以结合提供的"Android Widget"相关资源(如AllWidget文件),进行实践操作,加深理解。
可以使用`ProgressBar`或`androidx.progressbar.widget.ProgressDialog`,并结合异步任务的回调更新进度。 8. 错误处理:确保有良好的错误处理机制,包括网络异常、服务器错误等。通常通过重试策略、错误提示来提升...
总结,"TestBrightness"项目结合了Android的ProgressBar和屏幕亮度控制功能,旨在提供一个测试框架,用于确保这些功能的正确性和稳定性。开发者可以在这个基础上学习如何操作进度条,控制屏幕亮度,并进行相应的测试...
在安卓(Android)平台上...总结,创建Android应用的启动加载界面需要结合Activity的生命周期、异步加载机制以及对用户体验的理解。通过合理的设计和实现,加载界面可以成为一个增强品牌形象和提升用户体验的有效工具。
了解如何结合Android开发和Web技术进行混合应用的开发。 13. Android定位技术和程序锁: 包括基站定位、GPS定位以及如何在应用中实现程序锁,确保应用安全。 14. Android开发面试相关知识点: 涉及Android SDK使用...
8. **进度条设计**:Android提供了ProgressBar和SeekBar组件,可以用来显示任务的进度。开发者可以通过监听事件来更新进度条的状态。 9. **小游戏开发**:小游戏通常涉及图像处理、碰撞检测、计分系统等。Android的...
本文将详细介绍Android中常见的控件及其使用方式,同时也会涉及一些Android项目的基本结构和配置文件。首先,我们来看看Android项目的目录结构。 1. **项目目录结构** - `src`:包含了项目的所有Java源代码,每个...
在这个项目中,当用户成功登录后,可能使用`startActivity()`方法结合`Intent`来跳转到新的活动(Activity)。例如,从登录界面跳转到主页面或其他用户区域。 3. **进度条显示**: - 进度条在许多情况下用于指示...
此外,状态管理(如加载中、错误、空数据等)也是重要的一环,可以采用`SwipeRefreshLayout`实现下拉刷新,结合`ProgressBar`或`Snackbar`提供反馈。 在源码层面,`MainActivity`通常作为应用的入口,负责初始化...
《Android辞典》是一款专为Android开发者设计的学习资源,它几乎涵盖了所有常见的Android控件,同时结合了Google API的使用,对于刚入门的开发者来说,是极佳的参考和学习工具。这款辞典以清晰的注释和详尽的解释,...
此外,Android中的Intent机制,用于在Activity之间传递数据和启动服务,也是Java编程的重要部分。 4. **Material Design**:尽管是精仿QQ的界面,但可能也会遵循Material Design的设计规范,这涉及到颜色搭配、图标...