自定义Toast,让提示更亲众

原创 2013年12月02日 19:48:21

注释都写上了,希望能够帮助上搜索的奋斗者,转载务必注明出处http://blog.csdn.net/u013017597/article/details/17079141

Toast自定义的两种方式见本博客的这篇文章:http://blog.csdn.net/u013017597/article/details/17094319

最定义Toast,在工作中能够起到很好的展示效果

今天刚刚构建了一个代码直接上

private static LinearLayout setToastSelfStyle(Context context, String strText) {
		if (linearLayout == null) {
			linearLayout = new LinearLayout(context);
		}
		linearLayout.setOrientation(LinearLayout.HORIZONTAL);
		if (mTv == null) {
			mTv = new TextView(context);
		}
		mTv.setText(strText);
		mTv.setTextColor(context.getResources().getColor(R.color.beige));
		mTv.setTextSize(20);
		linearLayout.setGravity(Gravity.CENTER);
		linearLayout.setBackgroundResource(R.drawable.toast_bg_style);
		linearLayout.removeAllViews();
		linearLayout.addView(mTv);
		return linearLayout;
	}
	
	/**
	 * 通用,吐司提示。显示时长2秒
	 * @param context
	 * @param text
	 */
	public static void showToast(Context context, String text) {
		if (toast == null) {
			toast = new Toast(context);
		}
		toast.setView(setToastSelfStyle(context, text)); // 这里只可以String类型的数据
		toast.show();
	}

上面有个问题就是,想输入id或者文字的时候都需要多执行好几行代码

优化下只变动一行代码就满足id和文字的展示


/**
	 * 通用,吐司提示。显示时长2秒
	 * @param context
	 * @param text
	 */
	public static void showToast(Context context, String text) {
		if (toast == null) {
			toast = new Toast(context);
		}
		if (mTv == null) {
			mTv = new TextView(context);
		}
		mTv.setText(text);
		toast.setView(setToastSelfStyle(context));
		toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
		toast.show();
	}
	/**
	 * 自定义样式
	 * @param context
	 * @return
	 */
	private static LinearLayout setToastSelfStyle(Context context) {
		if (linearLayout == null) {
			linearLayout = new LinearLayout(context);
		}
		if (mTv == null) {
			mTv = new TextView(context);
		}
		mTv.setTextColor(context.getResources().getColor(R.color.white));
		mTv.setTextSize(20);
		linearLayout.setGravity(Gravity.CENTER);
		linearLayout.setBackgroundResource(R.drawable.toast_bg_style);
		linearLayout.removeAllViews();
		linearLayout.addView(mTv);
		linearLayout.setOrientation(LinearLayout.HORIZONTAL);
		return linearLayout;
	}

这样构建了自己定义的背景灰色,字体颜色为白色的Toast,当然这里我们对于布局进行了一个圆角的转换

<?xml version="1.0" encoding="utf-8"?>
<!-- Toast提示背景色 -->
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item><shape>
            <gradient android:angle="180" android:endColor="#808080" android:startColor="#808080" />

            <stroke android:width="1dip" android:color="#808080" />

            <corners android:radius="3dp" />

            <padding android:bottom="10dp" android:left="10dp" android:right="10dp" android:top="10dp" />
        </shape></item>
    <!--
gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)
stroke 边框 width 边框宽度,color 边框颜色
corners 圆角 radius 半径,0为直角 值越大越圆
padding text值的相对位置




    -->

</selector>

注释都写上了,希望能够帮助上搜索的奋斗者,转载务必注明出处http://blog.csdn.net/u013017597/article/details/17079141

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android自定义注册页面提示,替换Toast功能

最近项目中,在注册页面要实现判断用户是否输入了文字,两次密码是否一样,因此对用户填写的信息进行提示性的校验。先看效果图 布局页面主要是在要显示提示的地方添加布局LinearLayout。里面是一个I...

Android-自定义圆角Toast提示框

有时候我们根据需求需要自己指定toast的样式,例如在

自定义Toast提示框 → AppToastMgr

package com.jingewenku.abrahamcaijin.commonutil;   import android.content.Co...

简单自定义Toast,实现好看的消息提示框

简单自定义Toast,实现好看的消息提示框 一般系统给我们的Toast都是黑色的  比较不美观,所以作为一名新晋的博主,就和大家一起分享分享我的开发小经验,当然各位 老鸟如果有更好的方法,欢迎在下方...

提示控件之自定义Toast

Toast使用简单,性能优良,在Android APP中使用非常广泛。 但实际开发中我们并不仅仅满足于系统提供Toast的简单使用,同一行代码在不同的Android手机上就可能有不同的显示样...

Android中实现带声音提示的Toast (自定义扩展Toast)

今天看到一个应用弹出的Toast的同时还 蹦擦个声音 貌似还不错。我说你别得瑟了,哥也搞个Toast也出来冒个声 也来得瑟下。 这不,代码奉上: package weibo.lixiaod...

android自定义彩色的Toast

  • 2016-04-20 13:32
  • 1.41MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)