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文件可以编 ...
随机推荐
- ng build --base-href的设定问题
项目构建部署中遇到的问题: 1.不使用hash,如何解决刷新页面404的问题? 说明: root 指定项目地址路径,默认为nginx下的html index 默认访问index文件 try_fil ...
- Mac OS X Kernel Basic User Credentials
User Credentials In order to understand security in OS X, it is important to understand that there a ...
- Range锁(也即范围锁)
浅析SQL Server在可序列化隔离级别下,防止幻读的范围锁的锁定问题 本文出处:http://www.cnblogs.com/wy123/p/7501261.html (保留出处并非什么原创作品权 ...
- diff_mysql_table_exec.py
#!/usr/bin/env python #-*- encoding: utf8 -*- import mysql.connector import sys import re import dat ...
- js循环一维数组按指定长度截取为二维数组
//随便创建一个数组 let data = "abcdefghijklmnopkrstuvw12322999".split(""); //总数组 let pro ...
- 洛谷 P4013 数字梯形问题
->题目链接 题解: 网络流. #include<cstdio> #include<iostream> #include<queue> #include< ...
- 魔兽争霸war3心得体会(三):UD内战
最近,经常匹配到UD内战.有输有赢,有的时候,自己双矿经济,人口优势巨大,却很遗憾地输掉比赛. 本文,简要分析下 对战过程. 前期狗流开局, 5只狗,一只出去骚扰,攻击商店,防止对方科技蜘蛛骚扰我.二 ...
- Python数据分析环境和工具
一.数据分析工作环境 Anaconda: Anaconda(水蟒)是一个科学计算软件发行版,集成了大量常用扩展包的环境,包含了 Python 解释器,conda 包管理工具,以及 NumPy.Pand ...
- Linux基本命令(一)
目标 熟练使用 Linux常用的命令 ls clear cd pwd mkdir touch rm cp mv tree chmod find grep 重定向 软连接.硬链接 压缩 shutdown ...
- DATAGUARD在做SWITCHOVER切换时遇到问题总结
1.主库在进行物理主备库角色转换的时候遇到ORA-01093错误 SQL> select switchover_status from v$database; SWITCHOVER_STAT ...