博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自定义Toast
阅读量:7077 次
发布时间:2019-06-28

本文共 3132 字,大约阅读时间需要 10 分钟。

这是一个可以自定义Toast的UI的工具类。废话少说,直接上代码。

package com.newtonapple.zhangyiyan.zhangyiyan.utils;

import android.app.Activity;

import android.content.Context;
import android.os.Handler;
import android.view.Display;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import com.newtonapple.zhangyiyan.R;

public class ToastUtils {

//直接显示Toastpublic static void show(Context context, String info) {    View view = getTextView(context, info);    Toast toast = new Toast(context);    toast.setView(view);    toast.show();}private static View getTextView(Context context,String info){    LayoutInflater inflater = LayoutInflater.from(context);    View view = inflater.inflate(R.layout.tv_toast, null);    TextView tv = (TextView) view.findViewById(R.id.tv_toast);    tv.setText(info);    return view;}//设置Toast可以显示多长时间public static void show(Context context, String info, final long duration) {    if (context == null)    {        return;    }    final Toast toast = Toast.makeText(context, info, Toast.LENGTH_SHORT);    toast.show();    Handler handler = new Handler();    handler.postDelayed(new Runnable() {        @Override        public void run() {            toast.cancel();        }    }, duration);}复制代码

//自定义样式的Toast

public static void showZhengZaiKaiTong(Context context) {
if (context == null)
{
return;
}
final Toast toast = Toast.makeText(context, "", Toast.LENGTH_SHORT);
//自定义Toast的布局
View view = LayoutInflater.from(context).inflate(R.layout.layout_toast,null,false);
LinearLayout ll_toash = (LinearLayout) view.findViewById(R.id.toast);

//布局文件中设置的宽高不顶用,需要重新设置;注意:不能设置最外层控件的宽高,会报空指针,可以设置第二层控件的宽高    Activity activity = (Activity) context;    WindowManager windowManager = activity.getWindowManager();    Display display = windowManager.getDefaultDisplay();    int screenWidth = display.getWidth();    int screenHeight = display.getHeight();    ll_toash.getLayoutParams().width = (int) (screenWidth*0.411);    ll_toash.getLayoutParams().height = (int) (screenHeight*0.18);    //设置吐司居中显示    toast.setGravity(Gravity.CENTER, 0, 0);    toast.setView(view);    toast.show();}//自定义样式的Toastpublic static void yiShanChu(Context context) {    if (context == null)    {        return;    }    final Toast toast = Toast.makeText(context, "", Toast.LENGTH_SHORT);    View view = LayoutInflater.from(context).inflate(R.layout.layout_toast_delete,null,false);    LinearLayout ll_toash = (LinearLayout) view.findViewById(R.id.toast);    //布局文件中设置的宽高不顶用,需要重新设置;注意:不能设置最外层控件的宽高,会报空指针,可以设置第二层控件的宽高    Activity activity = (Activity) context;    WindowManager windowManager = activity.getWindowManager();    Display display = windowManager.getDefaultDisplay();    int screenWidth = display.getWidth();    int screenHeight = display.getHeight();    ll_toash.getLayoutParams().width = (int) (screenWidth*0.411);    ll_toash.getLayoutParams().height = (int) (screenHeight*0.18);    //设置吐司居中显示    toast.setGravity(Gravity.CENTER, 0, 0);    toast.setView(view);    toast.show();}复制代码

}

转载地址:http://yxjml.baihongyu.com/

你可能感兴趣的文章
JavaScript中的this
查看>>
vs2005,.net的C#语言开发生成com组件的tlb文件
查看>>
自动修改电脑IP地址.bat
查看>>
当网站上线时记得设置umbDebug为false--致Umbraco开发者
查看>>
JavaScript 操作 Cookie
查看>>
Asp.net MVC3扩展之Ajax异常处理特性
查看>>
Perl语言入门-第五章-输入与输出-习题
查看>>
【转载】wpf学习笔记数据绑定8
查看>>
制作iOS应用图标的最简单方法
查看>>
淘宝JavaScript 编码风格规范
查看>>
poj 2240
查看>>
C# 理解lock
查看>>
H5添加禁止缩放功能
查看>>
Redis防止重複請求鎖功能
查看>>
【TP5.0】引入public/static目录下的静态资源
查看>>
xml文件中配置JDBC源遇到问题 : The reference to entity "characterEncoding" must end with the ';' delimiter...
查看>>
编译php ./configure命令enable和with有什么区别
查看>>
有多少人在使用ObjectDataSource开发Web程序?
查看>>
iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)
查看>>
探索推荐引擎内部的秘密,第 3 部分: 深入推荐引擎相关算法 - 聚类
查看>>