今天学习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>