消息机制3
来源:互联网 发布:微信小说网站源码 编辑:程序博客网 时间:2024/04/19 06:38
消息机制
main.xml文件代码。
<LinearLayout 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:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <ProgressBar android:id="@+id/progressBar1" style="?android:attr/progressBarStyle" android:visibility="gone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar2" style="?android:attr/progressBarStyleHorizontal" android:visibility="gone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar3" style="?android:attr/progressBarStyleLarge" android:visibility="gone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar4" style="?android:attr/progressBarStyleSmall" android:layout_width="match_parent" android:visibility="gone"//让进度条在一开始的时候处于隐藏状态 android:layout_height="wrap_content" /> <ProgressBar android:id="@+id/progressBar5" style="?android:attr/progressBarStyleSmallInverse" android:layout_width="match_parent" android:visibility="gone" android:layout_height="wrap_content" /> <Button android:id="@+id/but" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示进度条" /></LinearLayout>下面先对进度条属性进行以下说明:
1、style="?android:attr/progressBarStyleSmall"代表小号圆形进度条。
2、style="?android:attr/progressBarStyleLarge"代表超大号圆形进度条。
3、style="?android:attr/progressBarStyleHorizontal"代表长形进度条。
MainActivity.java文件内容。
package com.example.inforcontact3;import android.app.Activity;import android.content.res.Resources.Theme;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ProgressBar;public class MainActivity extends Activity {//定义事件处理标示public static final int CONTINUE = 1;public static final int STOP = 2;//定义进度条组件private ProgressBar bar1, bar2, bar3, bar4, bar5;private Button but;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);bar1 = (ProgressBar)findViewById(R.id.progressBar1);bar2 = (ProgressBar)findViewById(R.id.progressBar2);bar3 = (ProgressBar)findViewById(R.id.progressBar3);bar4 = (ProgressBar)findViewById(R.id.progressBar4);bar5 = (ProgressBar)findViewById(R.id.progressBar5);but = (Button)findViewById(R.id.but);but.setOnClickListener(new OnClickListenerImpl());}private class OnClickListenerImpl implements OnClickListener {@Overridepublic void onClick(View v) {//显示进度条bar1.setVisibility(View.VISIBLE);bar2.setVisibility(View.VISIBLE);bar3.setVisibility(View.VISIBLE);bar4.setVisibility(View.VISIBLE);bar5.setVisibility(View.VISIBLE);//设置进度条的长度bar1.setMax(120);bar2.setMax(120);//设置进度条开始的位置bar1.setProgress(0);bar2.setProgress(0);//创建一个子线程new Thread(new Runnable() {@Overridepublic void run() {int count = 0;for (int i = 0; i < 10; i++) {//让进度快一点count = (i + 1) * 20;try {//设置进度条增加的时间间隔Thread.sleep(200);} catch (InterruptedException e) {e.printStackTrace();}if (i == 6) {//i == 6时隐藏进度条Message msg = new Message();msg.what = STOP;//立即发送信息,并且调用handleMessage()方法处理信息MessageHandler.sendMessage(msg);} else {Message msg = new Message();msg.what = CONTINUE;msg.arg1 = count;MessageHandler.sendMessage(msg);}}}}).start();//开启线程}}private Handler MessageHandler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what) {case STOP:bar1.setVisibility(View.GONE);bar2.setVisibility(View.GONE);bar3.setVisibility(View.GONE);bar4.setVisibility(View.GONE);bar5.setVisibility(View.GONE);//线程中断Thread.currentThread().isInterrupted();break;case CONTINUE://表示当前线程没有中断if (!Thread.currentThread().isInterrupted()) {bar1.setProgress(msg.arg1);bar2.setProgress(msg.arg1);}break;}}};}
1 0
- Windows消息机制(3)
- Windows消息机制3
- 消息机制3
- win32(3)--消息处理机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- 消息机制
- [图论] 最短路径(Bellman-Ford , SPFA , Floyed , Dijkstra)
- Laravel 5.1.4 + Bootstrap 3.3.5 笔记四:Laravel 控制器
- UVALive 6935 Bricks题解
- (2)PHP运行时的全局参数
- STM32的定时器时基功能封装
- 消息机制3
- CSU 1120 病毒
- HUD 1564 Play a game【博弈论】
- [组合数学] 第一类,第二类Stirling数,Bell数
- hdu-2116-Has the sum exceeded
- 第五周第一天(数据库)
- android view移动总结
- android 实现QQ好友分享和QQ空间分享
- 常见的攻击方式详解