职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 385|回复: 3

6.2 Toast 详解

[复制链接]
走失的猫咪 发表于 2011-8-29 10:18 | 显示全部楼层 |阅读模式
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
查看图片附件

江波 发表于 2011-8-29 10:18 | 显示全部楼层
很不错,学习啦

话说我当年 发表于 2011-8-29 10:18 | 显示全部楼层
學習。。。。

Jethro 发表于 2011-8-29 10:19 | 显示全部楼层
不错   很全面  学习了
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-6 23:48 , Processed in 0.139715 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表