zoukankan      html  css  js  c++  java
  • Android开发UI之Toast的使用

    Toast,A toast provides simple feedback about an operation in a small popup. 

    对于操作提供一个简单反馈信息。

    官网链接:http://developer.android.com/reference/android/widget/Toast.html

    常量有两个:

    LENGTH_LONG   显示稍微长点的时间,大概在5秒左右
    LENGTH_SHORT    显示稍微短点的时候,大概在3秒左右

    比较简单的使用

    代码:

    1 Toast.makeText(getApplicationContext(), "This is a Toast", Toast.LENGTH_SHORT).show();

    还可以定制Toast显示的位置

    1 Toast showToast=Toast.makeText(MainActivity.this, "显示Toast", Toast.LENGTH_SHORT);
    2 showToast.setGravity(Gravity.CENTER, 0, 0);
    3 showToast.show();

    通过setGravity (int gravity, int xOffset, int yOffset)方法,

    参数一:gravity,可以使用Gravity类的常量,比如:Gravity.CENTER,Gravity.BOTTOM,Gravity.LEFT,Gravity.RIGHT,Gravity.TOP等

    参数二:toast位于屏幕X轴的位移,大于0表示往屏幕右边移动,小于0表示往屏幕左边移动。

    参数三:与参数二一样, 不过是在屏幕Y轴的位移,大于0表示往屏幕下方移动,小于0表示往屏幕上方移动。

    同时还可以给Toast设置图片等,

    需要用的setView (View view)方法

    参数:设置一个view,可以是layout,也可以是imageview等,只要是view或者子类都可以,看需求定义即可。

    使用Toast时,注意,在UI线程中,可以直接使用Toast。在子线程中,直接使用Toast的话,会出现Force Close,需要使用Looper类。请参考这篇记录

    Toast的五种例子

    1.默认效果

    1 Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();

    2.自定义显示位置效果

    1 toast = Toast.makeText(getApplicationContext(), "自定义位置Toast", Toast.LENGTH_LONG);
    2 toast.setGravity(Gravity.CENTER, 0, 0);
    3 toast.show();

    3.带图片效果

    1 toast = Toast.makeText(getApplicationContext(),"带图片的Toast",Toast.LENGTH_LONG);
    2 toast.setGravity(Gravity.CENTER, 0, 0);
    3 LinearLayout toastView = (LinearLayout) toast.getView();
    4 ImageView imageCodeProject = new ImageView(getApplicationContext());
    5 imageCodeProject.setImageResource(R.drawable.icon);
    6 toastView.addView(imageCodeProject, 0);
    7 toast.show();

    4.完全自定义效果

     1 LayoutInflater inflater = getLayoutInflater();
     2 View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.llToast));
     4 ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);
     5 image.setImageResource(R.drawable.icon);
     6 TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
     7 title.setText("Attention");
     8 TextView text = (TextView) layout.findViewById(R.id.tvTextToast);
     9 text.setText("完全自定义Toast");
    10 toast = new Toast(getApplicationContext());
    11 toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
    12 toast.setDuration(Toast.LENGTH_LONG);
    13 toast.setView(layout);
    14 toast.show();

    5.来自其他线程的

    1 new Thread(new Runnable() {
    2 public void run() {
    3 showToast();
    4 }
    5 }).start();
  • 相关阅读:
    spring mvc配置完后实现下载功能
    表单中Readonly和Disabled的区别(转载)
    EL表达式中fn函数 (转载)
    Spring mvc中@RequestMapping 6个基本用法小结(转载)
    web开发,关于jsp的常见问题,重复提交,防止后退。
    JQuery页面加载
    解决 spring mvc 3.0 结合 hibernate3.2 使用<tx:annotation-driven>声明式事务无法提交的问题(转载)
    数据库设计原则(转载)
    dhtmlxTree介绍(转载)
    主键索引
  • 原文地址:https://www.cnblogs.com/liyiran/p/4655303.html
Copyright © 2011-2022 走看看