`
hilary3113
  • 浏览: 265874 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

自定义Toast

阅读更多

Toast用于向用户显示一些帮助/提示,我在用其他软件时,Toast样式是他们自定义的样式,我也研究了下,做两个小例子,供大家参考,样式见附件。

有不足之处请指点

ToastActivity.java

package com.action;

import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class ToastActivity extends Activity {
	private Button btn1;
	private Button btn2;
	private Toast toast;
	private View secondLayout;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		secondLayout = getLayoutInflater().inflate(R.layout.second, null);
		btn1 = (Button) findViewById(R.id.btn1);
		btn2 = (Button) findViewById(R.id.btn2);

		btn1.setOnClickListener(new BtnListener(btn1));
		btn2.setOnClickListener(new BtnListener(btn2));
	}

	class BtnListener implements OnClickListener {
		private View view;

		public BtnListener(View view) {
			this.view = view;
		}

		@Override
		public void onClick(View v) {
			if (view.equals(btn1)) {
				toast = Toast.makeText(getApplicationContext(), "自定义Toast位置",
						Toast.LENGTH_LONG);  //自定义Toast位置
				toast.setGravity(Gravity.CENTER, 0, 0);
				toast.show();
			} else if (view.equals(btn2)) {
				toast = new Toast(getApplicationContext());  //自定义Toast样式
				toast.setGravity(Gravity.CENTER, 0, 0);
				toast.setView(secondLayout);
				toast.show();
			}
		}
	}
}

 

 main.xml

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:text="@string/hello" />
	<Button android:id="@+id/btn1" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="Button" />
	<Button android:id="@+id/btn2" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="Button" />
</LinearLayout>

 

 

 

second.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal" android:layout_width="fill_parent"
	android:background="@drawable/toast_frame"
	android:gravity="center_vertical"
	android:layout_height="fill_parent">
	<ImageView android:id="@+id/img" android:layout_width="wrap_content"
		android:src="@drawable/btn_check_buttonless_on" android:layout_height="wrap_content" />
	<TextView android:id="@+id/tv" android:layout_width="wrap_content"
		android:layout_height="wrap_content" android:text="second" />
</LinearLayout>

 

 

 

  • 大小: 14.8 KB
分享到:
评论
1 楼 sunbird.work 2013-02-19  
niub,楼主真是太牛逼了

相关推荐

    android自定义Toast设定显示时间

    Android 自定义 Toast 设定显示时间是指在 Android 应用程序中,自定义 Toast 的显示时间,而不是使用系统默认的 Toast.LENGTH_SHORT 或 Toast.LENGTH_LONG。本文将详细介绍如何使用 WindowManager 实现自定义 Toast...

    自定义Toast,设置Toast显示位置,自定义Toast的复杂布局

    当我们需要更复杂的交互或者定制化设计时,就需要自定义Toast。本篇文章将深入探讨如何自定义Toast,设置其显示位置,并构建复杂的布局。 首先,让我们了解自定义Toast的基本步骤: 1. **创建自定义布局文件**: ...

    自定义Toast的显示内容和显示位置

    和对话框不同的是,Toast并不是以独占方式显示的,它并不会抢夺用户的焦点,在弹出Toast的时候,依然可以对之前的界面进行操作,我们在“”一文中介绍了纯文本的Toast的使用,我们完全可以自定义Toast的显示内容和...

    android开发之自定义Toast

    一个简单的自定义Toast资源,您可以根据自己的需要更改我的代码即可实现您想要的效果(主要是更改xml文件的布局),这是androidstudio的项目,但是不妨碍在eclipse中使用,可以直接在eclipse中新建android项目,然后将...

    Android-自定义Toast解决系统Toast存在的问题

    在某些情况下,我们可能需要自定义Toast来实现更个性化的展示效果,解决系统Toast在样式、位置、持续时间等方面存在的限制。本文将深入探讨如何在Android中自定义Toast,并提供相应的代码示例。 首先,让我们了解...

    Android中自定义Toast.pdf

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

    高仿IOS自定义Toast、自定义加载中进度框。绝美!

    1.自定义Toast提示,高仿IOS的屏幕中间提示,效果可以参考android版腾讯新闻的提示。还有一个重要特点:多次连续点击不会产生多个Toast队列不停的一直显示,而是直接更新当前Toast的视图,效果绝对棒! 2.自定义加载...

    自定义toast 加改造的日历选择控件

    然后,在代码中,我们可以通过LayoutInflater加载这个布局文件,创建一个View对象,再利用Toast的makeText方法创建一个自定义Toast,并将其视图设置为我们创建的View。 接下来,我们转向“改造的日历选择控件”。...

    简单自定义Toast

    自定义Toast可以让我们根据应用的需求,个性化地展示通知内容,增强用户体验。本篇文章将深入探讨如何实现“简单自定义Toast”,包括创建普通Toast、添加图片到Toast以及调整Toast的位置。 首先,我们来了解普通...

    android 自定义toast

    然而,系统默认的Toast样式和显示时间可能无法满足所有需求,因此开发者有时需要自定义Toast来实现更个性化的展示效果。本文将深入探讨如何在Android中自定义Toast,包括自定义显示时间和样式。 ### 一、自定义显示...

    微信小程序自定义toast

    在微信小程序中,自定义`Toast`是一种常见的需求,它能提供类似Android系统中的`Toast`功能,用于显示短暂的通知信息。默认的`Toast`组件可能无法满足所有设计和交互的需求,因此开发者需要根据自己的应用风格和用户...

    自定义Toast,防止层叠显示问题,和自定义Toast样式

    为了解决这个问题,并且提供更加个性化的视觉效果,开发者可以自定义Toast。 首先,我们要理解如何防止Toast的层叠显示。默认情况下,Android系统会自动管理Toast的显示,但如果我们想要控制Toast的显示顺序和生命...

    Android中自定义Toast背景颜色及字体颜色,防止Toast多次创建的ToastUtil

    Android中自定义Toast背景颜色及字体颜色,防止Toast多次创建的ToastUtil,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/68962539

    小程序自定义toast

    在微信小程序开发中,"小程序自定义toast"是一种常见的用户交互反馈方式。Toast(吐司)通常用于在页面上短暂显示一些简短的信息,比如操作成功或失败提示,而不会中断用户的操作流程。默认的微信小程序提供的toast...

    Android-自定义toast提示可设置做了封装

    本资源"Android-自定义toast提示可设置做了封装"就提供了一种自定义Toast的方法,它允许我们根据需要调整提示的样式、位置、持续时间等特性。 首先,让我们了解一下自定义Toast的基本流程。自定义Toast的核心是创建...

    自定义toast

    一个自定义Toast样式的demo,可以设置Toast的显示位置和显示内容

    自定义Toast及解决重复出现Toast的问题

    然而,原始的Toast有时无法满足开发者对于样式、持续时间或交互的需求,因此,自定义Toast就显得尤为重要。同时,当多个相同的Toast连续触发时,可能会导致重复显示,这对用户体验造成不良影响。本篇将详细介绍如何...

Global site tag (gtag.js) - Google Analytics