关于Toast

吐司的内容不单单只有吐司文字,还可以吐司图片或者图片和文字.首先,我们先认识下面两个方法

  1. toast.setGravity(gravity,xOffest,yOffset)   设置Toast的位置
  2. toast.setView(View v)   设置吐司的样式
只显示图片的吐司:

代码如下:

      //获取一个Toast对象,为下面操作准备
      Toast toast = new Toast(this);
      ImageView img = new ImageView(this);
      //用系统提供的图片
      img.setImageResource(R.drawable.ic_launcher);
      //设置图片
      toast.setView(img);
      toast.show();   
                                        

                                关于Toast

显示图片和文字的吐司

代码如下:

 Toast toast = Toast.makeText(this, "这是一个有图片的吐司", Toast.LENGTH_LONG);
      ImageView img = new ImageView(this);
      img.setImageResource(R.drawable.ic_launcher);
          //得到toast的布局对象
      LinearLayout toast_layout = (LinearLayout) toast.getView();
      //为toast添加图片资源,第二个参数,0表示图片在上
      toast_layout.addView(img,1);
      toast.show();

                                  关于Toast


自定义Toast

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="60dp"
    android:orientation="horizontal">

    <TextView
        android:layout_width="80dp"
        android:layout_height="match_parent"
        android:gravity="center"
        android:text="文字"/>
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:src="@drawable/ic_launcher_round"/>
    
</LinearLayout>

Activity代码:

//构造来创建Toast
Toast toast = new Toast(this);
//创建要显示的view
ImageView imageView = new ImageView(this);
imageView.setImageResource(R.drawable.ic_launcher);
//设置属性
toast.setView(imageView);
toast.setDuration(Toast.LENGTH_SHORT);
toast.show();