浏览 3414 次
锁定老帖子 主题:6.2 Toast 详解
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-07-12
• 文本类型 • 图片类型 • 复合类型 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开发案例驱动教程》第六章 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-07-12
感谢楼主的奉献
|
|
返回顶楼 | |
发表时间:2011-07-13
很不错,学习啦
|
|
返回顶楼 | |
发表时间:2011-08-09
不错 很全面 学习了
|
|
返回顶楼 | |