首页 > 系统 > Android > 正文

Android Toast通知用法实例详解

2019-10-23 20:31:51
字体:
来源:转载
供稿:网友

本文实例讲述了Android Toast通知用法。分享给大家供大家参考,具体如下:

Toast在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失。

1.默认用法

复制代码 代码如下:
Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();

 

2.Fragment中的用法

复制代码 代码如下:
Toast.makeText(getActivity(),"网络连接错误,请检察网络设置", Toast.LENGTH_LONG).show();

 

3.自定义显示位置效果

toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();

4.带图片效果

toast = Toast.makeText(getApplicationContext(), "带图片的Toast", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);LinearLayout toastView = (LinearLayout) toast.getView();ImageView imageCodeProject = new ImageView(getApplicationContext());imageCodeProject.setImageResource(R.drawable.icon);toastView.addView(imageCodeProject, 0);toast.show();

5.完全自定义效果

LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.llToast));ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);image.setImageResource(R.drawable.icon);TextView  Handler handler = new Handler();  @Override  public void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);    findViewById(R.id.btnSimpleToast).setOnClickListener(this);    findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(this);    findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this);    findViewById(R.id.btnCustomToast).setOnClickListener(this);    findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this);  }  public void showToast() {    handler.post(new Runnable() {      @Override      public void run() {        Toast.makeText(getApplicationContext(), "我来自其他线程!",Toast.LENGTH_SHORT).show();      }    });  }  @Override  public void onClick(View v) {    Toast toast = null;    switch (v.getId()) {    case R.id.btnSimpleToast:      Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();      break;    case R.id.btnSimpleToastWithCustomPosition:      toast = Toast.makeText(getApplicationContext(), "自定义位置Toast",Toast.LENGTH_LONG);      toast.setGravity(Gravity.CENTER, 0, 0);      toast.show();      break;    case R.id.btnSimpleToastWithImage:      toast = Toast.makeText(getApplicationContext(), "带图片的Toast",Toast.LENGTH_LONG);      toast.setGravity(Gravity.CENTER, 0, 0);      LinearLayout toastView = (LinearLayout) toast.getView();      ImageView imageCodeProject = new ImageView(getApplicationContext());      imageCodeProject.setImageResource(R.drawable.icon);      toastView.addView(imageCodeProject, 0);      toast.show();      break;    case R.id.btnCustomToast:      LayoutInflater inflater = getLayoutInflater();      View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.llToast));      ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);      image.setImageResource(R.drawable.icon);      TextView      title.setText("Attention");      TextView text = (TextView) layout.findViewById(R.id.tvTextToast);      text.setText("完全自定义Toast");      toast = new Toast(getApplicationContext());      toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);      toast.setDuration(Toast.LENGTH_LONG);      toast.setView(layout);      toast.show();      break;    case R.id.btnRunToastFromOtherThread:      new Thread(new Runnable() {        public void run() {          showToast();        }      }).start();      break;    }  }}

main.xml代码:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  android:gravity="center"  android:orientation="vertical"  android:padding="5dip" >  <Button    android:id="@+id/btnSimpleToast"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="默认" >  </Button>  <Button    android:id="@+id/btnSimpleToastWithCustomPosition"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="自定义显示位置" >  </Button>  <Button    android:id="@+id/btnSimpleToastWithImage"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="带图片" >  </Button>  <Button    android:id="@+id/btnCustomToast"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="完全自定义" >  </Button>  <Button    android:id="@+id/btnRunToastFromOtherThread"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:text="其他线程" >  </Button></LinearLayout>

custom.xml:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:id="@+id/llToast"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:background="#ffffffff"  android:orientation="vertical" >  <TextView    android:id="@+id/tvTitleToast"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    android:layout_margin="1dip"    android:background="#bb000000"    android:gravity="center"    android:textColor="#ffffffff" />  <LinearLayout    android:id="@+id/llToastContent"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:layout_marginBottom="1dip"    android:layout_marginLeft="1dip"    android:layout_marginRight="1dip"    android:background="#44000000"    android:orientation="vertical"    android:padding="15dip" >    <ImageView      android:id="@+id/tvImageToast"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:layout_gravity="center" />    <TextView      android:id="@+id/tvTextToast"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:gravity="center"      android:paddingLeft="10dip"      android:paddingRight="10dip"      android:textColor="#ff000000" />  </LinearLayout></LinearLayout>
 


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表