Android ToastUtil
16lz
2021-01-23
import android.content.Context;import android.view.Gravity;import android.widget.Toast;/** * author cowards * created on 2018\12\21 0021 **/public class ToastUtil { private static Toast toast;//实现不管我们触发多少次Toast调用,都只会持续一次Toast显示的时长 /** * 短时间显示Toast【居下】 * * @param msg 显示的内容-字符串 */ public static void showShortToast(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); } else { toast.setText(msg); } //1、setGravity方法必须放到这里,否则会出现toast始终按照第一次显示的位置进行显示(比如第一次是在底部显示,那么即使设置setGravity在中间,也不管用) //2、虽然默认是在底部显示,但是,因为这个工具类实现了中间显示,所以需要还原,还原方式如下: toast.setGravity(Gravity.BOTTOM, 0, dip2px(context, 64)); toast.show(); } /** * 短时间显示Toast【居中】 * * @param msg 显示的内容-字符串 */ public static void showShortToastCenter(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); } else { toast.setText(msg); } toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } /** * 短时间显示Toast【居上】 * * @param msg 显示的内容-字符串 */ public static void showShortToastTop(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_SHORT); } else { toast.setText(msg); } toast.setGravity(Gravity.TOP, 0, 0); toast.show(); } /** * 长时间显示Toast【居下】 * * @param msg 显示的内容-字符串 */ public static void showLongToast(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_LONG); } else { toast.setText(msg); } toast.setGravity(Gravity.BOTTOM, 0, dip2px(context, 64)); toast.show(); } /** * 长时间显示Toast【居中】 * * @param msg 显示的内容-字符串 */ public static void showLongToastCenter(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, msg, Toast.LENGTH_LONG); } else { toast.setText(msg); } toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } /** * 长时间显示Toast【居上】 * * @param msg 显示的内容-字符串 */ public static void showLongToastTop(Context context, String msg) { if (toast == null) { toast = Toast.makeText(context, 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); }}
更多相关文章
- Android 获取播放视频的相关 内容, 分辨率, 方向,作者信息
- android studio 3.6.1导入项目报错(无法下载classpath里的内容)
- Android 给TextView的内容 添加跳转无下划线
- Android OpenGl展示视频内容
- Android 部分内容设置颜色、字体、超链接、图片
- 【简单的学生管理界面】Android的if语句中有字符串判断
- Android的ListView中判断其内容已滚动到最顶部或者最底部
- android实现json数据的解析和把数据转换成json格式的字符串
- cvc-complex-type.2.4.d: 发现了以元素 'd:skin' 开头的无效内容