android延时处理任务范例

今天要做一个任务,要求图片做按钮开关,点击出发相应事件。点击打开,图片左边显示几行字体,这几行字体是延时显示的。下面将主要代码附上。以下是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; // 按钮置换
	@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延时处理任务范例

时间: 2024-10-14 12:32:13

android延时处理任务范例的相关文章

XE7 Android 中使用 MessageDlg 范例

XE7 Android 中使用 MessageDlg 范例 MessageDlg('Choose a button:', System.UITypes.TMsgDlgType.mtInformation, [ System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo, System.UITypes.TMsgDlgBtn.mbCancel ], 0, procedure(const AResult: TModalResult)

android 延时

Handler mHandler=new Handler(); Runnable mRunnable= new Runnable(){ public void run(){ takeButton.setEnabled(true);////延时后想干的事 } }; mHandler.postDelayed(mRunnable,2000); mHandler.removeCallbacks(mRunnable); android 延时

Android.mk编译APK范例

转载:http://hubingforever.blog.163.com/blog/static/1710405792011656434982/ 以下仅是使用Android.mk编译APK程序的一些范例. 如果你想了解Android.mk的更多内容请参考<Android.mk简介> 一.编译一个简单的APK LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java subdirec

Android 延时执行任务的三种简单方法

开启一个新的线程 new Thread() { @Override public void run() { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } startActivity(new Intent(LeadActivity.this, WelcomeActivity.class)); } }.start(); handler 加 postDelayed handler.

Android 延时执行的几种方法

开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start 利用定时器 TimerTask task = new TimerTask(){ public void run(){ //execute the task } }; Timer timer = new Timer(); timer.schedule(task, d

Android延时执行的几种方法

开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主线程执行任务 } }).start 利用定时器 TimerTask task = new TimerTask(){ public void run(){ //execute the task } }; Timer timer = new Timer(); timer.schedule(task, d

Tom&#39;s Android Course

Android底层框架解析与        Java&C/C++软硬整合开发技术 主讲人:高焕堂 (台湾Android教父级专家) 课程简介: 在智能&大数据时代,系统开发不仅仅攸关软件设计与开发,还涉及深度软硬整合的智能硬件设计与开发.在当今产业的成功方程式:(((硬件+ 软件) + 内容) + 电信)潮流下,如何将硬件.软件.内容和通信等一群<不会飞>的组件,以一种神奇的创新架构(Architecture)来组织起来,创造神奇的整体,像飞机一样<能飞>起来. 在

Android Gallery组件实现循环显示图像

Gallery组件主要用于横向显示图像列表,不过按常规做法.Gallery组件只能有限地显示指定的图像.也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了.这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示.要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行一番改进. Gallery组件的传统用法 在实现可循环显示图像的Gallery组件之前先

android.mk android源码编译

http://www.cnblogs.com/chenbin7/archive/2013/01/05/2846863.html Android.mk简单分析 2013-01-05 22:51 by ...平..淡..., 884 阅读, 0 评论, 收藏, 编辑 LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE_TAGS := optional LOCAL_SRC_FILES := $(call all-java-fil