zoukankan      html  css  js  c++  java
  • android Toast总结

    Toast提供了一个很方便的与用户交互的反馈方式。如下图:

    Toast大致分一下几种:

    1>普通Toast

    private void normalToast() {
            Toast.makeText(context, "normalToast", Toast.LENGTH_SHORT).show();
        }

    2>带图片的Toast

     1 private void picToast() {
     2         Toast toast = Toast.makeText(context, "picToast", Toast.LENGTH_SHORT);
     3         toast.setGravity(Gravity.CENTER, -50, 50);
     4         LinearLayout view = (LinearLayout) toast.getView();
     5         view.setBackgroundColor(0x2f78E100);
     6         ImageView imageView = new ImageView(context);
     7         imageView.setImageResource(R.drawable.ic_launcher);
     8         view.addView(imageView);
     9         toast.setView(view);
    10         toast.show();
    11     }

    执行效果:

    3.自定义Toast

    自定义Toast需要我们自己定义一个布局文件来定义Toast的外观

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:background="#f0CA8F00"
     6     android:orientation="vertical" >
     7 
     8     <ImageView
     9         android:layout_gravity="center"
    10         android:layout_width="80dip"
    11         android:layout_height="40dip"
    12         android:src="@drawable/haha" />
    13 
    14     <TextView
    15         android:id="@+id/text"
    16          android:layout_gravity="center"
    17          android:gravity="center"
    18         android:layout_width="200dip"
    19         android:layout_height="50dip"
    20         android:textColor="#F6F6F6" />
    21 
    22 </LinearLayout>
     1 private void customToast() {
     2         LayoutInflater inflater = getLayoutInflater();
     3         View layout = inflater.inflate(R.layout.toast_layout, null);
     4         layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
     5                 LayoutParams.WRAP_CONTENT));
     6         TextView textview = (TextView) layout.findViewById(R.id.text);
     7         textview.setText("Custom Toast");
     8         Toast toast = new Toast(context);
     9         // toast.setMargin(10, 30);
    10         toast.setView(layout);
    11         toast.show();
    12     }

    执行效果:

     

    注:Toast操作也是一种UI操作,所以如果我们要在别的线程中用Toast会出现错误,我们可以用handler.post方法解决,如下:

    View Code
     1 private void runInOtherThread() {
     2         new Thread(new Runnable() {
     3 
     4             @Override
     5             public void run() {
     6                 handler.post(new Runnable() {
     7 
     8                     @Override
     9                     public void run() {
    10                         Toast.makeText(context, "runInOtherThread",
    11                                 Toast.LENGTH_SHORT).show();
    12                     }
    13                 });
    14 
    15             }
    16         }).start();
    17     }
  • 相关阅读:
    使用Random类生成指定范围的随机数
    js ==和===的区别
    js中的undefined
    js的split函数
    springboot发送邮件
    1032 Sharing (25分)(数组链表)
    1031 Hello World for U (20分)
    1030 Travel Plan (30分)(dijkstra 具有多种决定因素)
    1029 Median (25分)
    1026 Table Tennis (30分)
  • 原文地址:https://www.cnblogs.com/byghui/p/3057862.html
Copyright © 2011-2022 走看看