`

6.2 Toast 详解

阅读更多
Toast用于向用户显示一些帮助或提示,有三种展现形式:
• 文本类型
• 图片类型
• 复合类型
6.2.1 文本类型
下面看看一个文本类型Toast的例子,如图6-13所示,点击按钮会在屏幕的中下部分出现一个气泡,过一会又会消失了。
 


图 6-13图文本类型Toast
实现方式请参考代码清单6-10:
【代码清单6-10】 chapter6_6/src/com/work/Toast_1.java
public class Toast_1 extends Activity {
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Button btn01 = (Button) findViewById(R.id.Button01);
btn01.setText(R.string.word);
		btn01.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Toast.makeText(Toast_1.this, "你好我是Toast!", Toast.LENGTH_LONG)
						.show();
			}

		});
	}
}

Toast.makeText(…).show()实现一个Toast,Toast.LENGTH_LONG指定显示的时间是长时间模式,还有一个短时间模式Toast.LENGTH_SHORT。
6.2.2 图片类型
Toast可以显示文本信息,也可以显示图片信息,下面图6-14所示就是图片类型的Toast。
 


图6-14图片类型Toast
实现方式请参考代码清单6-11:
【代码清单6-11】 chapter6_6/src/com/work/Toast_2.java
public class Toast_2 extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Button btn01 = (Button) findViewById(R.id.Button01);
		btn01.setText(R.string.pictoast);
		btn01.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				ImageView view = new ImageView(Toast_2.this);
				view.setImageResource(R.drawable.image);
				Toast toast = new Toast(Toast_2.this);
				toast.setView(view);
				toast.setDuration(Toast.LENGTH_SHORT);
				toast.show();
			}
		});
	}
}

使用Toast的Toast(Toast_2.this)构造方法构造一个Toast对象,然后再通过toast.setView(view)方法设定一个View对象,这个View对象是一个图片控件对象,此时Toast在显示的时候就会显示出一个图片了。
6.2.3 复合类型
Toast是可以显示图片和文本组合的,下面看看复合类型Toast例子,如图6-15所示。
 


图6-15 复合类型Toast
实现方式请参考代码清单6-12:
【代码清单6-12】 chapter6_6/src/com/work/Toast_3.java
public class Toast_3 extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Button btn01 = (Button) findViewById(R.id.Button01);
		btn01.setText(R.string.mixtoast);
		btn01.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Toast toast = new Toast(Toast_3.this);
				LinearLayout layout = new LinearLayout(Toast_3.this);
				layout.setOrientation(LinearLayout.VERTICAL);

				ImageView view = new ImageView(Toast_3.this);
				view.setImageResource(R.drawable.image);
				TextView textView = new TextView(Toast_3.this);
				textView.setText("火箭队");

				layout.addView(view);
				layout.addView(textView);
				toast.setView(layout);
				toast.show();
			}
		});
	}
}

本例中通过创建一个ImageView类型的对象和TextView类型的对象,并把这两个对象通过layout.addView()方法放入到LinearLayout布局对象中,再把toast.setView(layout)放入到Toast对象中。
6.2.4 自定义显示位置Toast
Toast默认显示的位置已经很清楚了。现在看看如何自定义Toast显示的位置,如图6-16所示:
 


图6-16 自定义Toast位置
实现方式请参考代码清单6-13:
【代码清单6-13】 chapter6_6/src/com/work/Toast_4.java
public class Toast_4 extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Button btn01 = (Button) findViewById(R.id.Button01);
		btn01.setText(R.string.custom);
		btn01.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Toast toast = Toast.makeText(Toast_4.this,
						"你好我是自定义位置的Toast!", Toast.LENGTH_LONG);
				toast.setGravity(Gravity.CENTER, 0, 0);
				toast.show();
			}
		});
	}
}

toast.setGravity(Gravity.CENTER, 0, 0)方法设置Toast的位置,第一个参数是个对齐方式的常量,第二参数是在x轴的偏移量,第三个参数是在y轴的偏移量。
                                     出自《Android开发案例驱动教程》第六章
  • 大小: 12 KB
  • 大小: 13 KB
  • 大小: 14.5 KB
  • 大小: 15 KB
分享到:
评论

相关推荐

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

    4.3 用toast实现提示 4.4 用checkbox实现一个简单的物品清单 4.5 实现同意条款效果 4.6 radiogroup选择 4.7 imageview相框 4.8 spinner选择处理 4.9 gallery相簿 4.10 用.iava.io.file实现文件搜索 4.11 置换...

    Android基础知识详解

    Toast 36 Notification 38 对话框 42 一、带三个按钮的对话框 42 二、简单列表对话框、单选列表对话框、多选列表对话框 44 三、水平进度对话框和圆形进度对话框 47 四、自定义对话框 49 Menu菜单 52 选项菜单 52 上...

    Android典型技术模块开发详解

    6.2 Binder机制 6.3 AIDL基础 6.3.1 定义AIDL接口 6.3.2 使用AIDL开发程序的一般步骤 6.3.3 实现远程控制计数器示例 6.4 AIDL深入练习 6.4.1 服务端实现 6.4.2 客户端实现 6.5 系统服务 6.5.1 获得系统服务 6.5.2 ...

    Android入门到精通源代码.

    6.2 界面布局设计 6.2.1 基于XML的布局设计 6.2.2 线性布局(LinearLayout) 6.2.3 相对布局(RelativeLayout) 6.2.4 表格布局(TableLayout) 6.2.5 绝对布局(AbsoluteLayout) 6.3 界面中的字体 6.3.1 设置系统...

    Android实例代码

    6.2、使用字符串、颜色、尺寸资源: 6.3、数组资源: 6.4、使用Drawable资源:图片资源; StateListDrawable资源; LayerDrawable资源; ShapeDrawable资源; ClipDrawable资源; AnimationDrawable资源; 6.5、使用...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    6.2、使用字符串、颜色、尺寸资源: 6.3、数组资源: 6.4、使用Drawable资源:图片资源; StateListDrawable资源; LayerDrawable资源; ShapeDrawable资源; ClipDrawable资源; AnimationDrawable资源; 6.5、...

    Android_UI初级开发

    ### Android_UI初级开发知识点详解 #### 一、Android UI概要 **1.1 Android UI简介** - **定义**: UI(User Interface)即用户界面,是人与设备间信息交流的媒介。对于Android而言,良好的UI设计不仅能提升用户体验...

    android开发笔记

    ### Android开发笔记知识点详解 #### 第1章 Android简介 **1.1 Android与iPhone** - **Android**: 是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板...

    Google Android开发入门与实战的代码

    7.8 温馨的提醒——Toast和Notification应用 127 7.8.1 实例操作演示 128 7.8.2 实例编程实现 129 7.9 本章小结 135 第8章 移动信息仓库——Android的数据存储操作 136 8.1 Android数据存储概述 ...

    Google.Android开发入门与实战

    7.8 温馨的提醒——Toast和Notification应用 7.8.1 实例操作演示 7.8.2 实例编程实现 7.9 本章小结 第8章 移动信息仓库——Android的数据存储操作 8.1 Android数据存储概述 8.2 轻轻地我保护——SharedPreferences...

    疯狂Android讲义源码

     2.6.1 使用Toast显示提示信息框 128  2.6.2 Notification的功能与用法 129  2.7 菜单 132  2.7.1 选项菜单和子菜单  (SubMenu) 132  2.7.2 使用监听器来监听菜单事件 136  2.7.3 创建复选菜单项和单选菜单...

Global site tag (gtag.js) - Google Analytics