精华内容
下载资源
问答
  • Toast

    千次阅读 2020-10-12 23:57:18
    Toast 1、总结:   Toast是应用运行期间,通过类似于对话框的方式向用户展示消息提示 Toast只占用很少屏幕,并且在一段时间会自动消失     Content content=getApplicationContent(); //获得应用上...

    Toast

    1、总结:

     
    Toast是应用运行期间,通过类似于对话框的方式向用户展示消息提示

    Toast只占用很少屏幕,并且在一段时间会自动消失
     
     

    Content content=getApplicationContent();           //获得应用上下文
    string text="准备Toast中显示文本";                   //准备Toast中显示文本
    int duration=Toast.LENGTH_LONG                     //用于设置Toast显示时间
    Toast toast=Toast.makeText(context,text duration)  //生成Toast对象
    toast.show()                                       //显示Toast通知    

     

    代码通过Toast.makeText(context,text,duration)来创建Toast对话框

    参数:

    content是应用运行环境的上下文,在主活动中也可以直接使用MainActivity.this来获得上下文

    text是Toast中显示的文本

    duration设置Toast通知显示的时间,Toast.LENGTH_LONG表示显示较长时间,5S左右

    Toast.LENGTH_SHORT表示显示较短时间,3S左右

    toast.show()方法用于显示Toast通知
     
    但是通常情况下Toast显示在屏幕底部居中位置,调用 setGravity()方法可设置Toask显示位置

    toask.setGravity(Gravity.CENTER_VERTICAL,0,0);  //设置Toast在屏幕中心

     
    通常常量Gravity.CENTER_VERTICAL表示在屏幕居中位置,类似的还有Gravity.TOPGravity.LEFT

    setGravity()方法的第2个参数,第三个参数表示在x轴y轴的偏移量

     
     
     

    2、案例:

    运行结果:
     
     
     

    在这里插入图片描述

     
     
     

    activity_main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
    
       <Button
           android:layout_marginTop="10dp"
           android:id="@+id/btn1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:text="Toast.LENGTH_LONG"/>
    
       <Button
           android:layout_marginTop="20dp"
           android:id="@+id/btn2"
           android:layout_below="@+id/btn1"
           android:layout_width="match_parent"
           android:layout_height="wrap_content"
           android:text="Toast.LENGTH_SHORT"/>
       
    </RelativeLayout>

     
     
     

    MainActivity.java

    package com.example.textlistview;
    
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.os.Bundle;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.TextView;
    import android.widget.Toast;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            TextView tv=findViewById(R.id.text);
            Button b1=findViewById(R.id.btn1);
            b1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(MainActivity.this,"这是长时间显示Toast",Toast.LENGTH_LONG).show();
                }
            });
            Button b2=findViewById(R.id.btn2);
            b2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Toast.makeText(MainActivity.this,"这是短时间显示Toast",Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
    展开全文
  • toast

    千次阅读 2017-04-14 19:31:19
    做这个的出发点是不管是测试还是本身的项目需求,需要搞一个toast,满足各式各样的需要,大概有这些,于是就有写了 有需求的单列的toast 有需求可以自定义弹出时间的toast 有需求在关闭系统的通知权限后照样可以弹出...

    ToastCompat

    欢迎各位提出改进意见及完善,欢迎star.

    • 做这个的出发点是不管是测试还是本身的项目需求,需要搞一个toast,满足各式各样的需要,大概有这些,于是就有写了
      • 有需求的单列的toast
      • 有需求可以自定义弹出时间的toast
      • 有需求在关闭系统的通知权限后照样可以弹出toast
      • 有需求可以弹出自定义view
    • 参考资料
      • 参考toast的源码,系统维护是一个队列,同时也用到了aidl
        public void show() {
    
            if (mNextView == null) {
                throw new RuntimeException("setView must have been called");
            }
            INotificationManager service = getService();
            String pkg = mContext.getOpPackageName();
            TN tn = mTN;
            tn.mNextView = mNextView;
    
            try {
                service.enqueueToast(pkg, tn, mDuration);
            } catch (RemoteException e) {
                // Empty
            }
        }


    • 参考okhttp源码,以前没有太在意,后来发现,不管是okhttp中的builder还是dialog中的,他们的功能都是设置参数,这种思想非常好
    • 使用方法
      • 直接拷贝源码到项目中,简单暴力直接,有点重口味了,同时源码也不多。
      • 直接引入库
        compile ‘com.gs:ToastCompat:1.0.0’

    具体调用api方法
    1.单列
    new CustomToast.Builder(this).setIsSingle(true).setText("你好").build()
    .show();

    2.自定义时间
    new CustomToast.Builder(this).setText("你好").setDuration(2000).build()
    .show();

    3.自定义View
    ImageView imageView = new ImageView(this);
    imageView.setImageResource(R.mipmap.ic_launcher);
    new CustomToast.Builder(this).setIsSingle(true).setView(imageView).setDuration(2000).build()
    .show();

    4.复合使用
    new CustomToast.Builder(this).setIsSingle(true).setText("你好").setDuration(2000).build()
    .show();

    效果展示
    Thanks
    [rongwu](https://github.com/rongwu/ToastCompat
    项目地址

    展开全文
  • Toast

    2011-04-09 18:55:00
     layoutView = (LinearLayout) layoutInflater.inflate( R.layout.toast,(ViewGroup) findViewById(R.id.toast_area));Toast toast = new Toast(getApplicationContext());toast.setGravity(Gravity.CENTER

     

    展开全文
  • 关于Toast

    2017-10-18 10:00:41
    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.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

    布局文件:

    <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();
    
    

    展开全文
  • Toast提醒

    2016-10-29 15:30:14
    Toast
  • android toast_Android Toast

    2020-07-14 05:24:52
    android toastToast message is useful to show notification for ... In this tutorial, we’ll discuss and implement android Toast message example. Toast消息对在Android应用中显示少量通知非常有用。 在本教...
  • 自定义Toast,设置Toast显示位置,自定义Toast的复杂布局 博客地址:http://blog.csdn.net/xy_nyle/article/details/20137953
  • Toast 详细
  • 在使用自定义Toast时候,我们不能直接使用toast.setText()方法来设置显示信息;我们需要使用TextView来显示信息。 public void getToast(int pic,String msg) { Toast toast = new Toast(this); ImageView ...
  • Toast 我想我们应该使用的都很多,一般我们使用默认设置较多,但是默认设置往往不能满足我们的需求,那我们现在来自定义下:默认Toast:Toast.makeText(MainActivity.this,"点击按钮",Toast.LENGTH_SHORT).show();...
  • Toast 封装

    2017-01-04 20:24:42
    Toast 封装
  • TOAST:不重复显示Toast

    千次阅读 2017-09-21 15:25:08
    问题:对用户的某个动作弹出Toast,采用一般的显示Toast的方法,如果用户多次做某个动作,则屏幕会一直显示Toast,体验不好。 目标:如果Toast正在显示,同个Toast不再弹出Toast,而是在原来的Toast上继续显示一定...
  • B中使用Toast显示在A上,简单来说就是在B中定义一个Context变量,在A中通过调用B的构造方法将A自身传进去。
  • SmartToast

    2020-06-04 19:56:56
    一个封装了Toast、Snackbar、Dialog的开源库; 先看Toast封装的效果(逐个点击): 集成: // for androidx implementation ('com.github.the-pig-of-jungle.smart-show:all:3.0.2') //如果会使用到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,592
精华内容 9,436
热门标签
关键字:

toast