`

ANdroid 学习 之 修改Toast的样式

阅读更多
好久没有写了,最近一直在忙项目,呜呜,辛苦呐~ 其实Toast弹出来的时候,也是要加载布局的,我看了下源码,其中是一个线性布局,而且Taost中有一个方法可以得到这个容器对象,因此,我们可以直接拿来修改,改背景啊,添加控件进去啊,都行,想怎么改就怎么改,这里我直接贴代码,我是写了一个工具类:
分享到:
评论
1 楼 ldci3gandroid 2011-12-13  
我无语了, 竟然贴不了代码,放这了。

package com.index.comic.util;

import android.content.Context;
import android.graphics.Color;
import android.util.TypedValue;
import android.view.Gravity;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.LinearLayout.LayoutParams;

import com.index.R;

/**
 * 弹出Toast的一个工具类,这里主要是增加了对系统Toast背景的修改
 * @author Administrator
 *
 */
public class MsgTools {
	
	/**
	 * 
	 * @param context 上下文对象
	 * @param msg 要显示的信息
	 * @param timeTag 时间参数 若是“s”表示短时间显示 
	 * 						     若是“l”(小写L)表示长时间显示
	 */
	public static void toast(Context context, String msg, String timeTag){
		int time = Toast.LENGTH_SHORT;
		if(timeTag == null || "l".equals(timeTag)){
			time = Toast.LENGTH_LONG;
		}
		
		Toast toast = Toast.makeText(context, null, time);
		LinearLayout layout = (LinearLayout)toast.getView(); 
		/*layout.setLayoutParams(new WindowManager.LayoutParams(10000,
				android.view.WindowManager.LayoutParams.WRAP_CONTENT, 
				WindowManager.LayoutParams.TYPE_TOAST, WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
                | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, 
                PixelFormat.TRANSLUCENT));*/
		layout.setBackgroundResource(R.drawable.bg_msg_toast);
		layout.setOrientation(LinearLayout.HORIZONTAL);
		layout.setGravity(Gravity.CENTER_VERTICAL);
		TextView tv = new TextView(context);
		tv.setLayoutParams(new  LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));   
		tv.setGravity(Gravity.CENTER_VERTICAL);
		tv.setTextColor(Color.parseColor("#ffffffff"));
		tv.setTextSize(TypedValue.COMPLEX_UNIT_SP, 16);
		tv.setPadding(0, 0, 0, 0);
		tv.setText(msg);
		layout.addView(tv);
		toast.show();
	}
}

相关推荐

    Android自定义Toast

    Android系统默认的Toast方法很容易就可以显示消息,但是却不灵活,无法实现消息背景或者字体样式颜色的修改,本实例教你如何实现自定义的Toast来显示消息

    自定义Toast2

    大家一定对android系统自带的Toast的样式不是很...代码主要是可以根据自己的需求,修改Toast: 1.自定义Toast样式 2.自定义Toast显示屏幕位置 3.有带图片和不带图片两种显示方式 如若不清楚的,可以去我博客看展示图

    Android代码-ExToast

    于是,在阅读了Toast的源码后对Toast进行了拓展,原生Toast包含了以下方法给用户修改显示内容: setView(View):void setDuration(int):void setMargin(float,float):void setGravity(int,int,int):void setText(int)...

    Android编程入门很简单.(清华出版.王勇).part1

    本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析。这必将使得阅读本书的读者少走弯路,...

    react-native-root-toast:React原生吐司之类的组件,纯javascript解决方案

    同时支持Android和iOS。 Toast有很多自定义选项。 您可以通过调用api或在render内部使用Component来显示/隐藏Toast。 安装 npm install react-native-root-toast react-native-root-toast> = 2.1.0仅支持react-...

    Android高级编程--源代码

    作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...

    Android编程入门很简单.(清华出版.王勇).part2

    本书是一本与众不同的Android学习读物,是一本化繁为简,把抽象问题具体化,把复杂问题简单化的书。本书避免出现云山雾罩、晦涩难懂的讲解,代之以轻松活泼、由浅入深的剖析。这必将使得阅读本书的读者少走弯路,...

    Android开发应用实战详解源代码

    3.6 样式修饰处理 3.7 按钮事件响应 3.8 页面间的转换 3.9 activity调用 3.10 多个activity间的数据传递 3.11 将数据返回到前一个activity 3.12 对话框交互处理 3.13 文字颜色置换 3.14 文字字体设置 3.15 拖动相片...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——...

    Android例子源码集成安卓主流优秀第三方组件框架.zip

    这是一个集成目前Android主流优秀第三方组件、优秀好用的自定义控件、实用工具类封装、以及一些APP共通模块(比如:版本更新、意见反馈、引导界面等等)的开发包,帮助程序员快速开发自己的APP 已集成第三方开源...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——...

    Google Android SDK开发范例大全的目录

    3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递——...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    3.6 样式化的定型对象——Style样式的定义 3.7 简易的按钮事件——Button事件处理 3.8 手机页面的转换——setContentView的应用 3.9 调用另一个Activity——Intent对象的使用 3.10 不同Activity之间的数据传递...

    安卓源码包android web应用OCR图像识别listview相关EditText输入框Launcher 桌面45个合集

    [四次元]Android Launcher 源码修改可编译.rar [四次元]android 自定义对话框.rar [四次元]android-styled-dialogs 可自定义样式的dialog.zip [四次元]Android中实现Iphone样式的AlertDialog.zip [四次元]Android...

    Android 二维码扫描

    * 修改扫描线的样式。注意若使用paint.setShader(Shader shader) 方法,一定要在绘制完成后调用paint.setShader(null)。以免绘制信息出错。 * * 8、 CameraConfigurationManager 修改横竖屏、处理变形效果的核心...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--android 对话框样式 |--android 开机启动 |--android 挪动dialog的位置 |--android 控制对话框位置 |--android 根据uri获取路径 |--android 模拟器错误 |--android 横竖屏切换 |--android 获取mac地址 |--android...

Global site tag (gtag.js) - Google Analytics