android延时处理任务范例
今天要做一个任务,要求图片做button开关,点击出发对应事件。点击打开,图片左边显示几行字体,这几行字体是延时显示的。以下将主要代码附上。以下是main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="6">
<LinearLayout
android:orientation="vertical"
android:layout_width="80dp"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_weight="2.5"> <TextView
android:id="@+id/txtView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#ff00"
android:textSize="20sp"/>
<TextView
android:id="@+id/txtView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#999933"
android:textSize="20sp"/>
<TextView
android:id="@+id/txtView03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#ff33cc"
android:textSize="20sp"/>
<TextView
android:id="@+id/txtView04"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#993399"
android:textSize="20sp"/> </LinearLayout> <ImageView
android:id="@+id/start"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/blue"
android:layout_gravity="center"
android:layout_weight="1"
/> <LinearLayout
android:orientation="vertical"
android:layout_width="80dp"
android:layout_height="fill_parent"
android:gravity="center"
android:layout_weight="2.5">
<TextView
android:id="@+id/txtView05"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textColor="#ff6666"
android:textSize="20sp"
/> <TextView
android:id="@+id/txtView06"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:text=""
android:textColor="#003366"
android:textSize="20sp"
/> </LinearLayout> </LinearLayout>
延时处理要用到下面代码
new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
}
}, delay);
java代码MainActivity.java例如以下:
package com.example.vieweffect; import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.os.Handler;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.TextView;
import android.os.Build; public class MainActivity extends Activity {
TextView txtview01;
TextView txtview02;
TextView txtview03;
TextView txtview04; TextView txtview05;
TextView txtview06;
private ImageView start =null;
protected boolean isBrewing = false; // button置换
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); txtview01=(TextView)findViewById(R.id.txtView01);
txtview02=(TextView)findViewById(R.id.txtView02);
txtview03=(TextView)findViewById(R.id.txtView03);
txtview04=(TextView)findViewById(R.id.txtView04); txtview05=(TextView)findViewById(R.id.txtView05);
txtview06=(TextView)findViewById(R.id.txtView06); start=(ImageView)findViewById(R.id.start);
start.setOnClickListener((new OnClickListener() { @Override
public void onClick(View v) {
// TODO Auto-generated method stub if(v==start){
if(isBrewing)
stopView();
else
startView(); } }
})); } //開始
public void startView(){
Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.stop);//打开资源图片
start.setImageBitmap(bmp);
txtview01.setText("打开串口...");
new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
txtview02.setText("打开A...");
}
}, 500); new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
txtview03.setText("打开B...");
}
}, 1000); new Handler().postDelayed(new Runnable(){
public void run() {
//execute the task
txtview04.setText("打开C...");
}
}, 1500); isBrewing = true;
} //停止
public void stopView(){
Bitmap bmp=BitmapFactory.decodeResource(getResources(), R.drawable.blue);//打开资源图片
start.setImageBitmap(bmp);
txtview01.setText("");
txtview02.setText("");
txtview03.setText("");
txtview04.setText(""); txtview05.setText("");
txtview06.setText("");
isBrewing = false;
} }
效果图例如以下:执行后先出现下面界面
,点击该蓝色图片后,
android延时处理任务范例的更多相关文章
- Android.mk编译APK范例
以下仅是使用Android.mk编译APK程序的一些范例. 如果你想了解Android.mk的更多内容请参考<Android.mk简介> 一.编译一个简单的APK LOCAL_PAT ...
- XE7 Android 中使用 MessageDlg 范例
MessageDlg('Choose a button:', System.UITypes.TMsgDlgType.mtInformation, [ System.UITypes.TMsgDlgBtn ...
- Android 延时执行任务的三种简单方法
开启一个新的线程 new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (Interrupted ...
- Android延时执行调用的几种方法
一.开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); ...
- Android延时执行的几种方法
开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主 ...
- android延时弹出软键盘
searchEditView.setFocusable(true); searchEditView.setFocusableInTouchMode(true); searchEditView.requ ...
- Android 延时执行的几种方法
开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主 ...
- 【译】Design For Maturing Android-为日渐成熟的Android做设计
为日渐成熟的Android做设计 [声明] 本篇博文英文版原文来自Smashing Magazine,本人经Smashing Magazine邮件授权后翻译,转载请注明出处.谢谢!原文地址. 我将不定 ...
- 【整理修订】Android.mk详解
Android.mk详解 1. Android.mk 的应用范围 Android.mk文件是GNU Makefile的一小部分,它用来对Android程序进行编译. 一个Android.mk文件可以编 ...
随机推荐
- open ball、closed ball 与 open set、closed set(interior point,limit point)、dense set
0. demo 在拓扑学上,open set(开集)是对实数轴(real line)上开区间(open interval)的拓展. 红色圆盘:{(x,y)|x2+y2<r2},蓝色圆圈:{(x, ...
- 23、uevent/hotplug热拔插机制
(class_device_create的目的是为了让mdev根据它注册的信息来创建设备节点) class_device_create class_device_register class_devi ...
- 【u251】心灵的抚慰
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 病毒问题解决后,神牛们的心灵久久不能平静.他可以从一个程序联想到一些相似的程序.比如从程序1联想到2, ...
- 《编程导论(Java)·4.1数据抽象的含义》
You have no choice about the necessity to integrateyour observations, your experiences, your knowled ...
- Spring常用工具类(ApplicationContextAware、DisposableBean、InitializingBean)
原创作品,出自 "晓风残月xj" 博客,欢迎转载,转载时请务必注明出处(http://blog.csdn.net/xiaofengcanyuexj). 由于各种原因,可能存在诸多不 ...
- [JS Compse] 4. A collection of Either examples compared to imperative code
For if..else: const showPage() { if(current_user) { return renderPage(current_user); } else { return ...
- ios开发日期的NSDate,NSCalendar分类
#import <Foundation/Foundation.h> @interface NSDate (XMGExtension) /** */ // @property (nonato ...
- 使用jquery-validationEngine框架,4步实现前端JS校验
第1步: 引入CSS和JS <script type="text/javascript" src="${base}/static/js/frontback ...
- 静态编译ltrace
ltrace可以跟踪进程的库函数调用,它会显现出哪个库函数被调用,而strace则是跟踪程序的每一个系统调用. 有时候只使用strace还是不够的,须要ltrace配合才干找出问题出在哪里. 假设在b ...
- C#基础readonly 与const
readonly 与 const readonly是运行时常量,const是编译期常量(在编译过程中已经把使用该值的都用值替代,不分配内存)readonly灵活性高,const效率高 readonly ...