zoukankan      html  css  js  c++  java
  • Android Toast小解

    简单介绍:Toast英文含义是吐司,在Android中。它就像烘烤机里做好的吐司弹出来,并持续一小段时间后慢慢消失。

    Toast也是一个容器,能够包括各种View,并承载着它们显示。

    Android中提供一种简单的Toast消息提示框机制。能够在用户点击了某些button后。提示用户一些信息。提示的信息不能被用户点击,Toast的提示信息依据用户设置的显示时间后自己主动消失。Toast的提示信息能够在调试程序的时候方便的显示某些想显示的东西,或者给用户提供友好的界面显示效果。

    有两种方式去创建而且显示Toast:

    1. Toast.makeText(Context context, int resId, int duration) 
      Toast.makeText(Context context, CharSequence text, int duration) 
      Context为上下文,通常为当前activity;resId是string字符串的id,CharSequence为你要显示的字符串。duration为显示的时间,能够选择Toast.LENGTH_SHORT或Toast.LENGTH_LONG,也可自己定义时间。 用法: 
      Toast.makeText(this, "this is string", Toast.LENGTH_SHORT).show();

    2. 自己创建Toast,而且设置视图,即自己定义 

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    Toast toast = new Toast(this);       
    // 定义一个ImageView      
    ImageView imageView = new ImageView(this);        
    imageView.setImageResource(R.drawable.ic_launcher);       
    // 定义一个Layout,这里是Layout       
    LinearLayout Layout = new LinearLayout(this);     
    Layout.setOrientation(LinearLayout.HORIZONTAL);       
    // 将ImageView放到Layout中        
    Layout.addView(imageView);        
    // 设置View     
    toast.setView(Layout);        
    //设置显示时间      
    toast.setDuration(20);        
    toast.show();     

    通过上面的代码就能够自己定义一个Toast了,我们还在当中显示了图片。

    怎样设置Toast显示的位置

    方法一:

    setGravity(int gravity, int xOffset, int yOffset) 三个參数分别表示(起点位置,水平向右位移,垂直向下位移)

    方法二:

    setMargin(float horizontalMargin, float verticalMargin) 以横向和纵向的百分比设置显示位置,參数均为float类型(水平位移正右负左,竖直位移正上负下)

    //默认的Gravity就是Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM


    Toast toast = Toast.makeText(this, "set your gesture firstly", Toast.LENGTH_LONG); //toast提示
    toast.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM, 0, 0); //先设置重心
    toast.setMargin(0f, 0.1f) ; //设置相对重心位置
    toast.show();


    注意事项:

    Toast中有一个public方法setText(),能够给toast设置resid或者string,该方式尽能够在我们的第一种方法中使用。另外一种自己定义toast的方式是不能够使用的,使用的话会抛出异常。

    原因是使用第一种方式创建。Toast会自己创建一个view,即textview,而我们使用这个setText实际是向这个TextView设置内容,而自己定义的View不会有这个控件。因此会报错。

    //加设置位置
    Toast toast = Toast.makeText(this, "set your gesture firstly", Toast.LENGTH_LONG); //toast提示//toast.setGravity(Gravity.BOTTOM, 20, 60); toast.show();


    ref:http://blog.csdn.net/pipisorry/article/details/26837809

    http://blog.isming.me/blog/2014/03/22/toast-use/

    http://android.codemach.com/zai-android-zhong-shi-yong-toast-jin-xing-ti-shi.html



  • 相关阅读:
    关于脚本编写的注意点
    关于情报收集以及应用
    关于情报收集以及应用
    关于linux服务器的批量维护、批量升级、
    关于文档
    cf卡中,wtmp文件较大,导致磁盘空间满了
    node.js 对接公众平台
    highcharts的.net本地导出环境安装记录
    兼容 IE,firfox 的时间日期出现 NaN
    IE11无法 登陆银行网站
  • 原文地址:https://www.cnblogs.com/yfceshi/p/7144127.html
Copyright © 2011-2022 走看看