Handler与ProgressBar 例子
来源:互联网 发布:漫画打印排版软件 编辑:程序博客网 时间:2024/05/20 01:38
Handler与ProgressBar 例子
MainActivity
package ray.com.hander_progressbar;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ProgressBar;public class MainActivity extends AppCompatActivity { private ProgressBar proBar = null; private Button button = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); proBar = (ProgressBar) findViewById(R.id.probar); button = (Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { proBar.setVisibility(View.VISIBLE); // 防止重复点击post很多线程进去 if (proBar.getProgress() > 0) { return; } handler.post(runnable); } }); } Handler handler = new Handler() { @Override public void handleMessage(Message message) { proBar.setProgress(message.arg1); handler.post(runnable); } }; Runnable runnable = new Runnable() { int i = 1; @Override public void run() { i++; Message message = handler.obtainMessage(); message.arg1 = i; try { Thread.sleep(40); } catch (InterruptedException e) { e.printStackTrace(); } handler.sendMessage(message); if (i > 100) { handler.removeCallbacks(this); i = 1; } } };}
activity_main
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="ray.com.hander_progressbar.MainActivity"> <ProgressBar android:layout_width="match_parent" android:layout_height="wrap_content" style="?android:attr/progressBarStyleHorizontal" android:id="@+id/probar" android:visibility="gone"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/button1" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:text="Start"/></RelativeLayout>
0 0
- Handler与ProgressBar 例子
- 举例说明ProgressBar与Handler的应用
- Android线程Handler用法(二)---结合进度条例子(ProgressBar)
- handler实例,progressbar
- android进度条ProgressBar例子
- handler例子
- Handler例子
- progressbar和Handler的使用
- 83 Android Handler ProgressBar 进度条
- ProgressBar、Handler的简单使用
- Android ProgressBar使用简单例子
- Handler (使用ProgressBar进度条来说明)
- 安卓 toast, handler, progressBar, Button实例
- Android --- Handler 多线程通信示例(ProgressBar)
- Android之利用Handler实现ProgressBar进度条
- Handler结合progressBar(进度条)使用方法
- Android入门笔记 - 界面开发 - ProgressBar,Handler
- 老罗(18)发送Handler更新ProgressBar
- Button的点击事件
- Android属性动画实现TextView类似支付宝余额数字滚动
- Codeforces Educational Round 12 655ABCDE
- 六大设计原则(4)迪米特法则
- 使用第三方框架实现异步的HttpClient
- Handler与ProgressBar 例子
- STM32_GPIO
- 【转】asp.net Forms表单验证 使用经验及验证流程分析
- CSS样式三--盒子模型
- 137. Single Number II
- 剑指Offer--024-二叉搜索树的后序遍历序列
- iOS笔记_12_多线程
- 快速排序的实现
- 写一个类似大众点评的城市选择控件