首页 > 系统 > Android > 正文

Android Toast通知用法实例详解

2019-12-12 06:00:15
字体:
来源:转载
供稿:网友

本文实例讲述了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 title = (TextView) layout.findViewById(R.id.tvTitleToast);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();

6.其他线程

Main.java代码:

package com.wjq.toast;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.View.OnClickListener;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;public class Main extends Activity implements OnClickListener {  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 = (TextView) layout.findViewById(R.id.tvTitleToast);      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相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》及《Android控件用法总结

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表