通知 Toast详细用法(显示view)

今天学习Android通知 Toast的用法,Toast在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view)。
看效果图:

今天演示的有两种用法,如上图
main.xml:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<Button android:id="@+id/button1"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="Toast显示View"
/>
<Button android:id="@+id/button2"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="Toast直接输出"
/>
</LinearLayout>

两个按钮,很简单
程序代码:


package com.pocketdgig.toast;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class main extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button1=(Button)findViewById(R.id.button1);
        button1.setOnClickListener(bt1lis);
        Button button2=(Button)findViewById(R.id.button2);
        button2.setOnClickListener(bt2lis);
    }
    OnClickListener bt1lis=new OnClickListener(){

		@Override
		public void onClick(View v) {
			showToast();
		}
    	
    };
    OnClickListener bt2lis=new OnClickListener(){
		@Override
		public void onClick(View v) {
			Toast.makeText(main.this,"直接输出测试", Toast.LENGTH_LONG).show();
		}
    	
    };
    public void showToast(){
    	LayoutInflater li=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    	View view=li.inflate(R.layout.toast,null);
    	//把布局文件toast.xml转换成一个view
    	Toast toast=new Toast(this);
    	toast.setView(view);
    	//载入view,即显示toast.xml的内容
    	TextView tv=(TextView)view.findViewById(R.id.tv1);
    	tv.setText("Toast显示View内容");
    	//修改TextView里的内容
    	toast.setDuration(Toast.LENGTH_SHORT);
    	//设置显示时间,长时间Toast.LENGTH_LONG,短时间为Toast.LENGTH_SHORT,不可以自己编辑
    	toast.show();
    }
}

下面是toast.xml的内容:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<ImageView android:src="@drawable/toast"
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
/>
<TextView android:id="@+id/tv1"
	android:text=""
	android:layout_width="wrap_content"
	android:layout_height="wrap_content"
/>
</LinearLayout>

源代码下载:[download id=”4″]

© 2010, 冰冻鱼. 请尊重作者劳动成果,复制转载保留本站链接! 应用开发笔记