zoukankan      html  css  js  c++  java
  • 12 消息提示toast 和Context

    Toast

    toast用于向用户显示一些帮助和提示;

    特点:

       1、没有焦点。

       2、显示时间有限,会自动消失。

    案例:

    Test_toastActivity.java:

    public class Test_toastActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
        
        public void test1(View view){
            Toast.makeText(this.getApplicationContext(), "hello toast.....", 1).show();
            //Toast.LENGTH_LONG也可表示1;Toast.LENGTH_SHORT也可表示0
            //第一个参数也可以写成this,如:Toast.makeText(this, "hello toast.....", 1).show();
            /*
             * this --> activity --> Context
             * this.getApplicationContext --> Context
             * 
             */
         /*
             * Activity Context --> request
             * ApplicationContext --> Application
             */
    
        }
    }

    运行结果:


    Context ApplicationContext的比较:

        Context提供了关于应用环境全局信息的接口。它是一个抽象类,它的实现由Android系统所提供。通过context我们可以加载资源,获取android系统提供的一些服务类

    android 当真一般有两种context:

    1、application Context;

    2、Activity Context;

    Application Context:application和周围系统进行沟通的对象,生命周期长。

    Activity Context:activity和周围的activity 或者周围应用程序沟通的对象,生命周期短。


    Application ContextActivity Context使用时候的选择:

    什么时候想让对象的生命周期和进程关联起来,就用Application Context,,可以使对象存存活久一点;如果想让对象用完就不用就用Activity Context

    一般用Application Context都可以。

    然而如果你所有的地方都使用Application Context,并且你忘了手动把它销毁的话,会导致内存泄漏。


    通过设置参数,来改变显示位置:

    Test_toastActivity.java:

    public class Test_toastActivity extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
        
        public void test1(View view){
            
            //Toast.makeText(this.getApplicationContext(), "hello toast.....", 1).show();
            //可以改变toast的显示方法:
            Toast toast=Toast.makeText(this.getApplicationContext(), "hello toast.....", 1);
            toast.setGravity(Gravity.CENTER, 100, 0);//后两个参数表示X轴和Y轴的偏移量;
            toast.show();
            //Toast.LENGTH_LONG也可表示1;Toast.LENGTH_SHORT也可表示0
            //第一个参数也可以写成this,如:Toast.makeText(this, "hello toast.....", 1).show();
        }
    }

    运行结果:

  • 相关阅读:
    Java8中利用stream对map集合进行过滤的方法
    安装数据库MySQL,启动时报错 服务没有响应控制功能 的解决办法
    mysql 安装时 失败,提示 因为计算机中丢失 msvcp140.dll
    复习一下数学排列组合公式的原理
    java如何进行排列组合运算
    Redis 分布式锁:使用Set+lua替代 setnx
    深入详解Go的channel底层实现原理【图解】
    MYSQL MVCC实现原理详解
    聚簇索引和非聚簇索引,全在这!!!
    深度解密Go语言之 map
  • 原文地址:https://www.cnblogs.com/cxm-weiniss/p/7205245.html
Copyright © 2011-2022 走看看