赞
踩
1.在AndroidManifest.XML中声明这个MyApplication
android:name=".MyApplication"
2.自定义Application【系统上下文】
-
- import android.app.Application;
- import android.content.Context;
-
- public class MyApplication extends Application {
- /**系统上下文*/
- private static Context mAppContext;
-
- @Override
- public void onCreate() {
- super.onCreate();
- mAppContext = getApplicationContext();
-
- }
-
- /**获取系统上下文:用于ToastUtil类*/
- public static Context getAppContext(){
- return mAppContext;
- }
- }
-
- import android.content.Context;
- import android.view.Gravity;
- import android.widget.Toast;
-
- /**
- * Used 简单的Toast封装类
- */
- public class ToastUtil {
- //实现不管我们触发多少次Toast调用,都只会持续一次Toast显示的时长
- private static Toast toast;
-
- /**
- * 短时间显示Toast【居下】
- * @param msg 显示的内容-字符串
- */
- public static void ToastBelowshow(String msg) {
- if (MyApplication.getAppContext() != null) {
- if (toast == null) {
- toast = Toast.makeText(MyApplication.getAppContext(), msg, Toast.LENGTH_SHORT);
- } else {
- toast.setText(msg);
- }
- //1、setGravity方法必须放到这里,否则会出现toast始终按照第一次显示的位置进行显示(比如第一次是在底部显示,那么即使设置setGravity在中间,也不管用)
- //2、虽然默认是在底部显示,但是,因为这个工具类实现了中间显示,所以需要还原,还原方式如下:
- toast.setGravity(Gravity.BOTTOM, 0, dip2px(MyApplication.getAppContext(), 64));
- toast.show();
- }
- }
-
- /**
- * 短时间显示Toast【居中】
- * @param msg 显示的内容-字符串
- */
- public static void ToastCentershow(String msg) {
- if (MyApplication.getAppContext() != null) {
- if (toast == null) {
- toast = Toast.makeText(MyApplication.getAppContext(), msg, Toast.LENGTH_SHORT);
- } else {
- toast.setText(msg);
- }
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- }
- }
-
- /**
- * 短时间显示Toast【居上】
- * @param msg 显示的内容-字符串
- */
- public static void ToastTopshow(String msg) {
- if (MyApplication.getAppContext() != null) {
- if (toast == null) {
- toast = Toast.makeText(MyApplication.getAppContext(), msg, Toast.LENGTH_SHORT);
- } else {
- toast.setText(msg);
- }
- toast.setGravity(Gravity.TOP, 0, 0);
- toast.show();
- }
- }
-
- /**
- * 长时间显示Toast【居下】
- * @param msg 显示的内容-字符串
- */
- public static void ToastBelowshowLong(String msg) {
- if (MyApplication.getAppContext() != null) {
- if (toast == null) {
- toast = Toast.makeText(MyApplication.getAppContext(), msg, Toast.LENGTH_LONG);
- } else {
- toast.setText(msg);
- }
- toast.setGravity(Gravity.BOTTOM, 0, dip2px(MyApplication.getAppContext(), 64));
- toast.show();
- }
- }
-
- /**
- * 长时间显示Toast【居中】
- * @param msg 显示的内容-字符串
- */
- public static void ToastCentershowLong(String msg) {
- if (MyApplication.getAppContext() != null) {
- if (toast == null) {
- toast = Toast.makeText(MyApplication.getAppContext(), msg, Toast.LENGTH_LONG);
- } else {
- toast.setText(msg);
- }
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- }
- }
-
- /**
- * 长时间显示Toast【居上】
- * @param msg 显示的内容-字符串
- */
- public static void ToastTopshowLong(String msg) {
- if (MyApplication.getAppContext() != null) {
- if (toast == null) {
- toast = Toast.makeText(MyApplication.getAppContext(), msg, Toast.LENGTH_LONG);
- } else {
- toast.setText(msg);
- }
- toast.setGravity(Gravity.TOP, 0, 0);
- toast.show();
- }
- }
-
- /*=================================常用公共方法============================*/
- public static int dip2px(Context context, float dpValue) {
- final float scale = context.getResources().getDisplayMetrics().density;
- return (int) (dpValue * scale + 0.5f);
- }
- //ToastUtil.ToastTopshow(MyApplication.getAppContext().getResources().getString(R.string.app_name));
- // 如果想要显示Strings.xml文件中的字符串,建议使用MyApplication.getAppContext()
- }
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。