Android Toast 自定义

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:gravity="center"
 6     android:background="@android:color/holo_green_light"
 7     android:orientation="vertical" >
 8
 9     <TextView
10         android:id="@+id/tv1"
11         android:layout_width="wrap_content"
12         android:layout_height="wrap_content"
13         android:text="text1"/>
14
15      <TextView
16         android:id="@+id/tv2"
17         android:layout_width="wrap_content"
18         android:layout_height="wrap_content"
19         android:text="text2"/>
20 </LinearLayout>

item_toast

 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     android:layout_width="match_parent"
 3     android:layout_height="match_parent"
 4     android:orientation="vertical">
 5
 6     <Button
 7         android:layout_width="match_parent"
 8         android:layout_height="wrap_content"
 9         android:onClick="toast1"
10         android:gravity="center"
11         android:text="自定义Toast" />
12     <Button
13         android:layout_width="match_parent"
14         android:layout_height="wrap_content"
15         android:onClick="toast2"
16         android:gravity="center"
17         android:text="Toast.makeText" />
18
19 </LinearLayout>

activity_main

 1 public class MainActivity extends Activity {
 2
 3     @Override
 4     protected void onCreate(Bundle savedInstanceState) {
 5         super.onCreate(savedInstanceState);
 6         setContentView(R.layout.activity_main);
 7     }
 8
 9     public void toast1(View v){
10         //Toast通过构造方法创建,但是必须手动设置视图(setView、setDuration)
11         Toast toast = new Toast(this);
12
13         //动态加载布局
14         View view = getLayoutInflater().inflate(R.layout.item_toast, null);
15         TextView tv1 = (TextView) view.findViewById(R.id.tv1);
16         TextView tv2 = (TextView) view.findViewById(R.id.tv2);
17
18         //view.setBackgroundResource(R.drawable.ic_launcher);
19         view.setBackgroundColor(Color.YELLOW);;
20         tv1.setText("提示");
21         tv2.setText("再按一次退出");
22
23         toast.setView(view);
24         //Gravity.FILL_HORIZONTAL显示水平铺满,offset代表x,y轴上的偏移
25         toast.setGravity(Gravity.FILL_HORIZONTAL|Gravity.BOTTOM, 0, 500);
26         toast.setDuration(Toast.LENGTH_SHORT);
27         toast.show();
28
29
30     }
31
32     public void toast2(View v){
33         Toast toast = Toast.makeText(this, "静态方法构建的Toast", Toast.LENGTH_SHORT);
34         toast.setGravity(Gravity.LEFT, 0, 800);
35         //只有静态方法构建的toast才能用setText()方法
36         toast.setText("你好吗?");//打印你好吗?
37         toast.setText(R.string.hello_world);//打印的是Hello world!
38         toast.show();
39     }
40
41 }

MainActivity

时间: 2024-08-26 19:07:56

Android Toast 自定义的相关文章

Android之十一Toast 自定义Toast的实现方法,及其说明

Android Toast 自定义Toast的实现方法,及其说明 Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失.信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view).  1.简单用法 Toast.makeText(midlet.getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show(); 2.自定义显示位置效果 代码 toast = Toast.makeText(

Android Toast进阶——自定义Toast

进阶目标 上一篇博客我们学习了Toast的源码,了解了Toast从显示到消失的全过程,学习链接:Android Toast源码分析 .俗话说的好,学以致用.我们学习Toast源码不是用来炫技的,而是用来了解Toast原理,从而真正解决我们问题的.下面我就提两个业务中可能遇到的跟Toast相关的真实问题,看看学习了Toast源码之后,该如何解决这些问题.两个问题是: 如何自定义Toast的显示时间. 如何修改Toast的出现动画. 接下来,我们分别讲解阅读了Toast源码之后,如何解决这两个业务中

android源码分析 android toast使用详解 toast自定义

在安卓开发过程中,toast使我们经常使用的一个类,当我们需要向用户传达一些信息,但是不需要和用户交互时,该方式就是一种十分恰当的途径. 我们习惯了这样使用toast:Toast.makeText(Context context, String info, int duration).show();该方法是 系统为我们提供的一个方便的创建toast对象的静态方法,其内部依然是调用toast的相关方法完成.下面 就从其源码对该类的实现做一个分析 在toast类中,最重要的用于显示该toast的sh

Android Toast 设置到屏幕中间,自定义Toast的实现方法,及其说明

Android Toast用于在手机屏幕上向用户显示一条信息,一段时间后信息会自动消失.信息可以是简单的文本,也可以是复杂的图片及其他内容(显示一个view). 1.简单用法 Toast.makeText(midlet.getApplicationContext(), "用户名不能为空", Toast.LENGTH_LONG).show(); 2.自定义显示位置效果 代码 toast = Toast.makeText(getApplicationContext(),     "

android Toast大全(五种情形)建立属于你自己的Toast

Toast用于向用户显示一些帮助/提示.下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast. 1.默认效果 代码 Toast.makeText(getApplicationContext(), "默认Toast样式",     Toast.LENGTH_SHORT).show(); 2.自定义显示位置效果 代码 toast = Toast.makeText(getApplicationContext(),     "自定义位置Toast",

【Android】Android实现自定义带文字和图片的Button

在Android开发中经常会需要用到带文字和图片的button,下面来讲解一下常用的实现办法. 一.用系统自带的Button实现 最简单的一种办法就是利用系统自带的Button来实现,这种方式代码量最小.在Button的属性中有一个是drawableLeft,这个属性可以把图片设置在文字的左边,但是这种方式必须让icon的背景色是透明的,如果icon的背景色不是透明的话,会导致点击按钮时icon部分的背景色不会发生变化. 主要代码: <Button android:id="@+id/bt3

【2014年最后的分享啦】Android实现自定义刮刮卡效果View

一.简介: 今天是2014年最后一天啦,首先在这里,我祝福大家在新的2015年都一个个的新健康,新收入,新顺利,新如意!!! 上一偏,我介绍了用Xfermode实现自定义圆角和椭圆图片view的博文<Android实现自定义圆形.圆角和椭圆ImageView(使用Xfermode图形渲染方法)>, 今天我们来看看如何实现电商app里常用到的刮刮卡效果的view组件,其实原理和实现圆角图片的差不多,都是使用Xfermode渲染模式来实现的. (老规矩,源码在博文最后给出哈) 基本原理步骤是这样的

Android Toast 总结(五种用法)

Toast大家都很熟,不多说.直接上图上代码. 具体代码如下: main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_he

安卓Toast自定义及防止重复显示

Toast是安卓系统中,用户误操作时或某功能执行完毕时,对用户的一种提示,它没有焦点,并在一定时间内会消失,但用户连续误操作(如登录时,密码错误)多次时,则会有多个Toast被创建,系统会把这些toast放进队列中,等待上个Toast 显示完毕,接着显示下一个,那么用户则会看到多次Toast提示,无论你退出软件与否,这样给用户的体验则大打折扣,所以我们需要做的是,若Toast已在显示(也就是Toast!=null)时,就不用再重新new了,直接setText要显示的信息即可,只有Toast为空时