6.2 Toast 详解

news/2024/7/4 1:33:52 标签: button, layout, class, android
class="baidu_pl">
class="article_content clearfix">
class="htmledit_views"> 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.class="tags" href="/tags/LAYOUT.html" title=layout>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.class="tags" href="/tags/LAYOUT.html" title=layout>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.class="tags" href="/tags/LAYOUT.html" title=layout>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 class="tags" href="/tags/LAYOUT.html" title=layout>layout = new LinearLayout(Toast_3.this);
class="tags" href="/tags/LAYOUT.html" title=layout>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("火箭队");

class="tags" href="/tags/LAYOUT.html" title=layout>layout.addView(view);
class="tags" href="/tags/LAYOUT.html" title=layout>layout.addView(textView);
toast.setView(class="tags" href="/tags/LAYOUT.html" title=layout>layout);
toast.show();
}
});
}
}
本例中通过创建一个ImageView类型的对象和TextView类型的对象,并把这两个对象通过class="tags" href="/tags/LAYOUT.html" title=layout>layout.addView()方法放入到LinearLayout布局对象中,再把toast.setView(class="tags" href="/tags/LAYOUT.html" title=layout>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.class="tags" href="/tags/LAYOUT.html" title=layout>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开发案例驱动教程》第六章

http://www.niftyadmin.cn/n/1037141.html

相关文章

最小生成树(Prim算法)

Prim算法和Dijkstra算法很像 复杂度是O(V^2)。用于解决稠密图的最小生成树问题。虽然可以优化到ElongE,但是这个时候还不如用kruskal算法来的简单 每次往生成树集合中加入离生成树距离最近的点,从一个点慢慢的扩展,最后得到所求的最小生成树。…

6.1.5 GridView详解编辑

Android中的数据能够通过GridView类实现表格化展现&#xff0c;它也属于列表类型的控件&#xff0c;其继承关系如下&#xff1a; java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView<T extends android.widget.Adapter> ↳…

java 数组遍历

我们先来看一段代码 package made;public class index {public static void main(String args[]) {String[] arr {"小明","小风","小天","小兰","小东"};System.out.println(arr[0]);System.out.println(arr[1]);System.o…

E. Graph Coloring(二分图+背包dp)

题目 题意&#xff1a; 给定一张图&#xff0c;要求给每个点染色&#xff0c;颜色为1&#xff0c;2&#xff0c;3。要求1的个数为n1&#xff0c;2的个数为n2&#xff0c;3的个数为n3&#xff0c;并且对于任意两个相邻的点颜色的差的绝对值为1。     1≤n≤5000,0≤m≤105,…

6.1.6 Gallery结合案例详解

Gallery&#xff08;相册&#xff09;控件是个很不错的图片查看控件&#xff0c;屏幕中有一个图片列表&#xff0c;Gallery类的继承关系如下&#xff1a; java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView<T extends androi…

java 方法的基本概念及其方法的基本定义和使用

首先 我们需要了解方法是干什么的 比如你早上起床 刷牙 洗脸 这种每天都要做的事程序里也会有 比如 我们需要修改一个用户信息 首先我们要查询这个用户的信息 那么我们就可以把这个查询用户信息的过程 封装成一个方法 发放就是一块独立的代码块进行封装 然后要用到这段代码时直…

F. Kate and imperfection(思维)

题目 题意&#xff1a; 给定一个1…n的集合&#xff0c;要求分别求出长为2,3,4…n的子集&#xff0c;使得每个子集中任意两个数的gcd的最大值尽可能的小。     2≤n≤5⋅1052≤n≤5⋅10^52≤n≤5⋅105 分析&#xff1a; 这题就是一道思维题&#xff0c;经过灵光一闪后发现…

6.4 Android国际化和本地化

何谓国际化和本地化呢&#xff1f;就是在资源文件夹res内建立不同国家语言的文件&#xff0c;这些国家语言的文件命名是有规定的&#xff0c;具体参见表6-1。当用户设置手机的语言时&#xff0c;程序能根据用户选择的语言情况&#xff0c;而加载相对应的语言文件。用户感受到是…