`

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`会显示一个简单的文本消息,但默认样式可能无法满足所有设计需求。本篇文章将深入探讨如何在...

    android默认Toast,各种自定义Toast

    自定义Toast样式主要是通过修改Toast的布局来实现的。首先,我们需要创建一个XML布局文件,定义我们想要的样式,例如: ```xml <!-- res/layout/custom_toast.xml --> <LinearLayout xmlns:android=...

    android自定义时长Toast

    在Android开发中,Toast是一种轻量级的通知方式,它用于显示短暂的信息,通常用来提示用户某个操作的结果。系统默认的Toast显示时间有限,一般分为短时间和长时间两种模式,但有时开发者可能需要更灵活的控制Toast的...

    ReactNativeToast一个用于android和ios类似于androidtoast提示控件

    3. **样式调整**:支持修改文字颜色、背景颜色、字体大小等样式,以适应应用的整体设计。 4. **显示位置**:可以设置Toast显示的位置,例如屏幕底部、中间或顶部。 5. **持续时间**:可以设置Toast显示的时间长度,...

    自定义Application级别toast Demo

    在"自定义Application级别toast Demo"中,我们将学习如何实现这一功能,并且该Demo已经实现了对Android 7及更高版本的兼容,无需额外申请权限。 首先,我们需要创建一个自定义的Toast类,继承自`Toast`。在这个类中...

    Android中自定义Toast.pdf

    然而,系统默认的Toast样式和位置可能无法满足所有应用的需求,因此开发者有时需要自定义Toast来实现更个性化的效果。本文将详细介绍如何在Android中自定义Toast。 首先,我们来看如何修改Toast的位置。在Android中...

    Android 自定义时间的Toast.rar

    5. **样式自定义**:如果需要自定义样式,可以修改`Toast`的布局文件,例如改变文字颜色、大小或添加图标等。这通常需要获取到`View`对象,然后通过`setGravity()`、`setTextColor()`等方法进行设置。 在压缩包中的...

    Android应用源码之五种效果的Toast.zip

    这个“Android应用源码之五种效果的Toast.zip”文件包含了一个示例项目,展示了如何自定义`Toast`以实现不同的视觉效果。下面我们将详细探讨`Toast`的基本使用和如何进行自定义。 1. **`Toast`的基本用法** - 创建...

    android的Toast提示框优化

    在大型项目中,为了统一管理`Toast`的显示,可以创建一个全局的`Toast`工具类,提供静态方法来显示`Toast`,这样可以在任何地方方便地调用,同时便于后期维护和修改。 8. **线程安全** 考虑到`Toast`可能会在多个...

    c# winform 类似android toast消息功能

    在C# WinForm开发中,有时我们希望实现类似Android中的Toast功能,以便向用户显示短暂的通知消息。Android的Toast提供了一种轻量级的提示方式,可以在不中断用户操作的情况下展示信息。C# WinForm虽然没有内置的...

    自定义漂亮的toast

    然而,如果想要自定义`Toast`的外观,我们不能直接修改`Toast`的默认样式,因为它是系统级别的组件,具有不可控性。我们可以创建一个自定义的`View`,然后在`Toast`中使用这个`View`来实现个性化设计。以下是自定义`...

    Android 定制 Toast

    在Android开发中,系统默认的Toast虽然方便快捷,但其样式和显示效果较为单一,往往无法满足开发者对于个性化用户体验的需求。因此,定制自定义的Toast就显得尤为重要。本篇文章将详细探讨如何在Android中实现一个...

    android 自定义动画toast源码.rar

    然而,系统默认的Toast样式可能无法满足所有设计需求,因此开发者经常需要自定义Toast以实现更丰富的展示效果。这个"android 自定义动画toast源码.rar"文件正是提供了这样的解决方案,它包含了一些库和示例代码,...

    自定义Toast

    自定义Toast就是在系统默认的Toast基础上进行扩展,以满足开发者对展示样式、内容以及交互效果的个性化需求。这篇博客中提到的“自定义Toast”应该是一个实现了独特视觉效果和功能增强的版本。 自定义Toast的关键...

    自定义toast.zip

    这个自定义的样式可以通过修改`custom_toast.xml`中的颜色资源(`@color/custom_background_color` 和 `@color/custom_font_color`)来进行更改。为了方便复用,可以将这些颜色定义在项目的`colors.xml`资源文件中。 ...

    Android Toast 多元化自定义

    通过以上步骤,我们可以创建一个功能丰富的`VarietyToast`工具类,它不仅能提供预设的`Toast`类型,还能方便地自定义显示样式和动画效果,极大地提高了Android应用提示信息的用户体验。在实际开发中,可以根据项目...

    Android应用源码之自定义彩色Toast-IT计算机-毕业设计.zip

    - 另外,可以提供一些公开方法,如`setText()`和`setColor()`,以方便在程序中动态修改Toast的内容和颜色。 3. **显示自定义Toast** - 在需要显示Toast的地方,创建自定义Toast的实例,调用`show()`方法。例如: ...

    CocosCreator-Toast.rar

    这个压缩包中的代码可能包括了一个新的节点类,用于创建和管理Toast实例,以及对应的CSS样式和脚本逻辑。开发者可以通过挂载这个组件到场景中的任何节点来使用Toast功能。 3. **注释与文档**: 提到“注释已经写好...

Global site tag (gtag.js) - Google Analytics