Android 5中不同效果的Toast

一、运行的结果

二、主要的代码

package com.otn.android.toast;

import java.util.Timer;
import java.util.TimerTask;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MyToast extends Activity implements OnClickListener {
	private static final String TOASTBTN_1 = "这是默认的Toast显示";
	private static final String TOASTBTN_2 = "这是自定义位置的Toast显示";
	private static final String TOASTBTN_3 = "这是带图片的Toast显示";
	private static final String TOASTBTN_4 = "这是完全自定义的Toast显示";
	private static final String TOASTBTN_5 = "这是长时间的Toast显示";
	private Button toastBtn_1, toastBtn_2, toastBtn_3, toastBtn_4, toastBtn_5;
	private Toast toast = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		toastBtn_1 = (Button) findViewById(R.id.button_1);
		toastBtn_2 = (Button) findViewById(R.id.button_2);
		toastBtn_3 = (Button) findViewById(R.id.button_3);
		toastBtn_4 = (Button) findViewById(R.id.button_4);
		toastBtn_5 = (Button) findViewById(R.id.button_5);
		toastBtn_1.setOnClickListener(this);
		toastBtn_2.setOnClickListener(this);
		toastBtn_3.setOnClickListener(this);
		toastBtn_4.setOnClickListener(this);
		toastBtn_5.setOnClickListener(this);
	}

	@Override
	public void onClick(View v) {
		AlertDialog.Builder builder;
		AlertDialog dialog;
		switch (v.getId()) {
		case R.id.button_1:
			toast.makeText(getApplicationContext(), TOASTBTN_1, Toast.LENGTH_LONG).show();
			break;

		case R.id.button_2:
			toast = Toast.makeText(getApplicationContext(), TOASTBTN_2,
					Toast.LENGTH_LONG);
			toast.setGravity(Gravity.CENTER, 0, 0);
			toast.show();
			break;

		case R.id.button_3:
			toast = Toast.makeText(getApplicationContext(), TOASTBTN_3,
					Toast.LENGTH_LONG);
			toast.setGravity(Gravity.CENTER, 50, -100);
			LinearLayout layout = (LinearLayout) toast.getView();
			ImageView image = new ImageView(getApplicationContext());
			image.setImageResource(R.drawable.wallpaper_tree_small);
			layout.addView(image, 0);
			toast.show();
			break;

		case R.id.button_4:
			LayoutInflater inflater = getLayoutInflater();
			View view = inflater.inflate(R.layout.userdefinedtoast,
					(ViewGroup) findViewById(R.id.toast_layout));
			TextView txtView_Title = (TextView) view
					.findViewById(R.id.txt_Title);
			TextView txtView_Context = (TextView) view
					.findViewById(R.id.txt_context);
			ImageView imageView = (ImageView) view
					.findViewById(R.id.image_toast);
			toast = new Toast(getApplicationContext());
			toast.setGravity(Gravity.CENTER, 0, 0);
			toast.setDuration(Toast.LENGTH_LONG);
			toast.setView(view);
			toast.show();
			break;

		case R.id.button_5:
			LayoutInflater inflater1 = getLayoutInflater();
			View view1 = inflater1.inflate(R.layout.userdefinedtoast,
					(ViewGroup) findViewById(R.id.toast_layout));
			TextView txtView_Title1 = (TextView) view1
					.findViewById(R.id.txt_Title);
			TextView txtView_Context1 = (TextView) view1
					.findViewById(R.id.txt_context);
			ImageView imageView1 = (ImageView) view1
					.findViewById(R.id.image_toast);
			builder = new AlertDialog.Builder(this);
			builder.setView(view1);
			dialog = builder.create();
			dialog.show();
			toast.makeText(this, TOASTBTN_5, Toast.LENGTH_LONG).show();
			break;

		default:
			break;
		}
	}
}
时间: 2024-10-22 20:32:50

Android 5中不同效果的Toast的相关文章

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

android开发中监听器的三种实现方法(OnClickListener)

Android开发中监听器的实现有三种方法,对于初学者来说,能够很好地理解这三种方法,将能更好地增进自己对android中监听器的理解. 一.什么是监听器. 监听器是一个存在于View类下的接口,一般以On******Llistener命名,实现该接口需要复写相应的on****(View v)方法(如onClick(View v)). 二.监听器的三种实现方法 (以OnClickListener为例) 方法一:在Activity中定义一个内部类继承监听器接口(这里是OnClickListener

Android应用中使用Popupmenu

最终效果: 页面布局: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent

Android:WebView中对图片注册上下文菜单

前言 今天一朋友问我一个问题,就是如何在WebView控件中的图片增加上下文菜单,以便增加保存图片等功能.今天就给他简单做了一个演示Demo,现写下来,给有相同问题的朋友提供些许思路吧. 概要实现 其实这个功能很简单,没有太复杂的东西,就是对WebView的控件的使用,一是给WebView注册了上下文菜单事件,二是在响应事件中去判断事件源的类型,如果是图片类型,则把url取出来 注册上下文菜单事件 这个就比较简单了通过下面的代码即可完成. WebView vw = (WebView) findV

在Android Studio中使用Lambda表达式

Lambda表达式是Java 8的一个新特性,可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂.Lambda表达式同时还提升了对集合的迭代.遍历.过滤数据的操作.那么在Android Studio中如何使用lambda表达式呢? 项目使用的jdk要为jdk 8或更高版本 修改build.gradle文件,enable jack和设置sourceCompatibility,targetCompatibility为jdk 8 defaultConfig { ... jackOpt

Android开发中使用七牛云存储进行图片上传下载

Android开发中的图片存储本来就是比较耗时耗地的事情,而使用第三方的七牛云,便可以很好的解决这些后顾之忧,最近我也是在学习七牛的SDK,将使用过程在这记录下来,方便以后使用. 先说一下七牛云的存储原理,上面这幅图片是官方给出的原理图,表述当然比较清晰了.可以看出,要进行图片上传的话可以分为五大步: 1. 客户端用户登录到APP的账号系统里面: 2. 客户端上传文件之前,需要向业务服务器申请七牛的上传凭证,这个凭证由业务服务器使用七牛提供的服务端SDK生成: 3. 客户端使用七牛提供的客户端S

Android开发中的问题及相应解决(持续更新)

最近博客写的少了,以后还得经常更新才行. ------------------------------------------------------------ 1.try cath 异常不全导致的意外问题. 之所以将此问题放在第一位,是因为前阵子中项目中出现了此类情况,并且这种情况很容易不注意或遗忘,但其错误却是致命的. 在Java/Android开发中,当调用一个函数时,此函数抛出一个A类型的异常,很自然的,在调用的地方我们会try.. catch此异常,并且绝大多数情况下,捕获异常是由E

Android程序中Web页面和NativeCode交互

首先应该在AndroidManifest.xml把下面这个加上使得具有网络访问权限 <uses-permission android:name="android.permission.INTERNET"/> 然后在布局文件上插入WebView main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http:/

Android Stutio中使用java8的Lambda表达式

转载请标明出处: http://blog.csdn.net/xmxkf/article/details/51532028 本文出自:[openXu的博客] 目录: 为什么要使用Lambda表达式 让Android Stutio支持Lambda 函数式接口Functional interfaces Lambda表达式的目标类型以及匹配 Lambda表达式语法 1 基础语法和语法简化 2 Lambda表达式的词法作用域 3 变量捕获 ??Java 8的一个大亮点是引入Lambda表达式,使用它设计的