eoe 移动开发者论坛

 找回密码
 加入eoe

QQ登录

只需一步,快速开始

查看: 624|回复: 6
收起左侧

实现花式Toast

[复制链接]

签到天数: 114 天

连续签到: 1 天

[LV.6]常住居民II

46

主题

229

帖子

1338

e币
发表于 2017-3-14 09:32:23 | 显示全部楼层 |阅读模式

没有eoe的账号,级别还太低,出门如何吹牛逼?

您需要 登录 才可以下载或查看,没有帐号?加入eoe

x
import android.content.Context;import android.view.View;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;/** * Created by 赵晨璞 on 2016/8/11. */public class ToastUtil {private  Toast toast;private LinearLayout toastView;/** * 修改原布局的Toast */public ToastUtil() {}/** * 完全自定义布局Toast * @param context * @param view */public ToastUtil(Context context, View view,int duration){    toast=new Toast(context);    toast.setView(view);    toast.setDuration(duration);}/** * 向Toast中添加自定义view * @param view * @param postion * @return */public  ToastUtil addView(View view,int postion) {    toastView = (LinearLayout) toast.getView();    toastView.addView(view, postion);    return this;}/** * 设置Toast字体及背景颜色 * @param messageColor * @param backgroundColor * @return */public ToastUtil setToastColor(int messageColor, int backgroundColor) {    View view = toast.getView();    if(view!=null){       TextView message=((TextView) view.findViewById(android.R.id.message));        message.setBackgroundColor(backgroundColor);        message.setTextColor(messageColor);    }    return this;}/** * 设置Toast字体及背景 * @param messageColor * @param background * @return */public ToastUtil setToastBackground(int messageColor, int background) {    View view = toast.getView();    if(view!=null){        TextView message=((TextView) view.findViewById(android.R.id.message));        message.setBackgroundResource(background);        message.setTextColor(messageColor);    }    return this;}/** * 短时间显示Toast */public  ToastUtil Short(Context context, CharSequence message){    if(toast==null||(toastView!=null&&toastView.getChildCount()>1)){        toast= Toast.makeText(context, message, Toast.LENGTH_SHORT);        toastView=null;    }else{        toast.setText(message);        toast.setDuration(Toast.LENGTH_SHORT);    }    return this;}/** * 短时间显示Toast */public ToastUtil Short(Context context, int message) {    if(toast==null||(toastView!=null&&toastView.getChildCount()>1)){        toast= Toast.makeText(context, message, Toast.LENGTH_SHORT);        toastView=null;    }else{        toast.setText(message);        toast.setDuration(Toast.LENGTH_SHORT);    }  return this;}/** * 长时间显示Toast */public ToastUtil Long(Context context, CharSequence message){    if(toast==null||(toastView!=null&&toastView.getChildCount()>1)){        toast= Toast.makeText(context, message, Toast.LENGTH_LONG);        toastView=null;    }else{        toast.setText(message);        toast.setDuration(Toast.LENGTH_LONG);    }    return this;}/** * 长时间显示Toast * * @param context * @param message */public ToastUtil Long(Context context, int message) {    if(toast==null||(toastView!=null&&toastView.getChildCount()>1)){        toast= Toast.makeText(context, message, Toast.LENGTH_LONG);        toastView=null;    }else{        toast.setText(message);        toast.setDuration(Toast.LENGTH_LONG);    }    return this;}/** * 自定义显示Toast时间 * * @param context * @param message * @param duration */public ToastUtil Indefinite(Context context, CharSequence message, int duration) {    if(toast==null||(toastView!=null&&toastView.getChildCount()>1)){        toast= Toast.makeText(context, message,duration);        toastView=null;    }else{        toast.setText(message);        toast.setDuration(duration);    }     return this;}/** * 自定义显示Toast时间 * * @param context * @param message * @param duration */public ToastUtil Indefinite(Context context, int message, int duration) {    if(toast==null||(toastView!=null&&toastView.getChildCount()>1)){        toast= Toast.makeText(context, message,duration);        toastView=null;    }else{        toast.setText(message);        toast.setDuration(duration);    }    return this;}/** * 显示Toast * @return */public ToastUtil show (){    toast.show();    return this;}/** * 获取Toast * @return */public Toast getToast(){    return toast;}}

ToastUtil toastUtil=new ToastUtil();toastUtil.Short(MainActivity.this,"自定义message字体、背景色").setToastColor(Color.WHITE, getResources().getColor(R.color.colorAccent)).show();

签到天数: 53 天

连续签到: 1 天

[LV.5]常住居民I

0

主题

79

帖子

510

e币
发表于 2017-3-21 14:18:42 | 显示全部楼层
啊啊啊!代码不能贴的规范一点么。。。有强迫症的人 怎么办

签到天数: 55 天

连续签到: 1 天

[LV.5]常住居民I

1

主题

72

帖子

519

e币
发表于 2017-3-22 16:45:17 | 显示全部楼层
恩恩  没有看的心思了 你是故意的

签到天数: 114 天

连续签到: 1 天

[LV.6]常住居民II

46

主题

229

帖子

1338

e币
 楼主| 发表于 2017-3-23 09:25:11 | 显示全部楼层
小哥哟 发表于 2017-3-22 16:45
恩恩  没有看的心思了 你是故意的

哈哈哈,我复制过来就是这样的啊

签到天数: 482 天

连续签到: 1 天

[LV.9]以坛为家II

10

主题

659

帖子

5380

e币
发表于 2017-4-5 16:26:42 | 显示全部楼层
哥哥 你能好好排版一下?

签到天数: 114 天

连续签到: 1 天

[LV.6]常住居民II

46

主题

229

帖子

1338

e币
 楼主| 发表于 2017-4-6 09:31:16 | 显示全部楼层
import android.content.Context;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

/**
* Created by 赵晨璞 on 2016/8/11.
*/
public class ToastUtil {
    private Toast toast;
    private LinearLayout toastView;

    /**
     * 修改原布局的Toast
     */
    public ToastUtil() {
    }

    /**
     * 完全自定义布局Toast * @param context * @param view
     */
    public ToastUtil(Context context, View view, int duration) {
        toast = new Toast(context);
        toast.setView(view);
        toast.setDuration(duration);
    }

    /**
     * 向Toast中添加自定义view * @param view * @param postion * @return
     */
    public ToastUtil addView(View view, int postion) {
        toastView = (LinearLayout) toast.getView();
        toastView.addView(view, postion);
        return this;
    }

    /**
     * 设置Toast字体及背景颜色 * @param messageColor * @param backgroundColor * @return
     */
    public ToastUtil setToastColor(int messageColor, int backgroundColor) {
        View view = toast.getView();
        if (view != null) {
            TextView message = ((TextView) view.findViewById(android.R.id.message));
            message.setBackgroundColor(backgroundColor);
            message.setTextColor(messageColor);
        }
        return this;
    }

    /**
     * 设置Toast字体及背景 * @param messageColor * @param background * @return
     */
    public ToastUtil setToastBackground(int messageColor, int background) {
        View view = toast.getView();
        if (view != null) {
            TextView message = ((TextView) view.findViewById(android.R.id.message));
            message.setBackgroundResource(background);
            message.setTextColor(messageColor);
        }
        return this;
    }

    /**
     * 短时间显示Toast
     */
    public ToastUtil Short(Context context, CharSequence message) {
        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
            toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
            toastView = null;
        } else {
            toast.setText(message);
            toast.setDuration(Toast.LENGTH_SHORT);
        }
        return this;
    }

    /**
     * 短时间显示Toast
     */
    public ToastUtil Short(Context context, int message) {
        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
            toast = Toast.makeText(context, message, Toast.LENGTH_SHORT);
            toastView = null;
        } else {
            toast.setText(message);
            toast.setDuration(Toast.LENGTH_SHORT);
        }
        return this;
    }

    /**
     * 长时间显示Toast
     */
    public ToastUtil Long(Context context, CharSequence message) {
        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
            toast = Toast.makeText(context, message, Toast.LENGTH_LONG);
            toastView = null;
        } else {
            toast.setText(message);
            toast.setDuration(Toast.LENGTH_LONG);
        }
        return this;
    }

    /**
     * 长时间显示Toast * * @param context * @param message
     */
    public ToastUtil Long(Context context, int message) {
        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
            toast = Toast.makeText(context, message, Toast.LENGTH_LONG);
            toastView = null;
        } else {
            toast.setText(message);
            toast.setDuration(Toast.LENGTH_LONG);
        }
        return this;
    }

    /**
     * 自定义显示Toast时间 * * @param context * @param message * @param duration
     */
    public ToastUtil Indefinite(Context context, CharSequence message, int duration) {
        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
            toast = Toast.makeText(context, message, duration);
            toastView = null;
        } else {
            toast.setText(message);
            toast.setDuration(duration);
        }
        return this;
    }

    /**
     * 自定义显示Toast时间 * * @param context * @param message * @param duration
     */
    public ToastUtil Indefinite(Context context, int message, int duration) {
        if (toast == null || (toastView != null && toastView.getChildCount() > 1)) {
            toast = Toast.makeText(context, message, duration);
            toastView = null;
        } else {
            toast.setText(message);
            toast.setDuration(duration);
        }
        return this;
    }

    /**
     * 显示Toast * @return
     */
    public ToastUtil show() {
        toast.show();
        return this;
    }

    /**
     * 获取Toast * @return
     */
    public Toast getToast() {
        return toast;
    }
}

签到天数: 113 天

连续签到: 2 天

[LV.6]常住居民II

1

主题

115

帖子

954

e币
发表于 2017-5-7 11:56:19 | 显示全部楼层
完全看不懂= =一团麻
*滑动验证:
您需要登录后才可以回帖 登录 | 加入eoe

本版积分规则

推荐阅读
赞助商们

QQ|联系我们|小黑屋|手机版|eoe 移动开发者论坛 ( 京ICP备11018032 京公网安11010802020210  

GMT+8, 2017-8-21 10:34 , Processed in 0.706254 second(s), 39 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表
关闭

扫一扫 关注eoe官方微信