android studio for android learning (十七) Toast使用详解
来源:互联网 发布:剑灵捏脸数据怎么下载 编辑:程序博客网 时间:2024/06/08 03:00
1.Toast是一种很方便的消息提示框,会在 屏幕中显示一个消息提示框,没任何按钮,也不会获得焦点、一段时间过后自动消失!
2.特点:
- Toast是一种提供给用户简洁提示信息的视图。
- 不能获得焦点
- 显示一段时间后自动消失
- Toast 是一个 View 视图,快速的为用户显示少量的信息。
- 不影响用户的输入等操作,主要用于 一些帮助 / 提示。
3.主要用法
Toast.makeText(Mainthis, “提示的内容”, Toast.LENGTH_SHORT).show(); 第一个是上下文对象!对二个是显示的内容!第三个是显示的时间,只有LONG和SHORT两种 会生效,即时你定义了其他的值,最后调用的还是这两个!
4.下面示例Toast的用法,主要展示如下图中所示的5种,一般第一种用法较多。
布局文件
main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.dragon.toast.Main"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="默认显示" android:id="@+id/btn1" android:layout_alignParentTop="true" android:layout_marginTop="31dp" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自定义显示位置" android:id="@+id/btn2" android:layout_below="@+id/btn1" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="带图片的显示" android:id="@+id/btn3" android:layout_below="@+id/btn2" android:layout_alignRight="@+id/btn2" android:layout_alignEnd="@+id/btn2" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="完全自定义显示" android:id="@+id/btn4" android:layout_below="@+id/btn3" android:layout_alignRight="@+id/btn3" android:layout_alignEnd="@+id/btn3" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="其它线程调用显示" android:id="@+id/btn5" android:layout_below="@+id/btn4" android:layout_alignRight="@+id/btn4" android:layout_alignEnd="@+id/btn4" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /></RelativeLayout>
toast.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="30dp" android:gravity="center" android:text="自定义的Toast对话框" /> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:src="@android:drawable/sym_def_app_icon" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="显示Toast弹出的内容" /></LinearLayout>
主要的代码文件Main.java
package com.dragon.toast;import android.os.Handler;import android.os.Message;import android.support.v4.media.MediaMetadataCompat;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.Toast;public class Main extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);//默认显示 Button btnshow1 = (Button) findViewById(R.id.btn1); btnshow1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast toast = Toast.makeText(Main.this,"默认显示", Toast.LENGTH_LONG); toast.show(); } });// 自定义显示位置 Button btnshow2 =(Button) findViewById(R.id.btn2); btnshow2.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast toast = Toast.makeText(Main.this,"自定义显示位置",Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER,10,-200); toast.show(); } });// 带图片的显示 Button btnshow3 = (Button) findViewById(R.id.btn3); btnshow3.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ Toast toast = Toast.makeText(Main.this,"带图片的显示",Toast.LENGTH_SHORT);// 获取toast的布局方式 LinearLayout toast_layout = (LinearLayout) toast.getView(); toast_layout.setOrientation(LinearLayout.HORIZONTAL);//设置为横向// 创建图片视图对象 ImageView iv = new ImageView(Main.this); iv.setImageResource(R.mipmap.ic_launcher); toast_layout.addView(iv,0);//加在文字开头// toast_layout.addView(iv);//加在文字结尾 toast.show(); } });//完全自定义显示 Button btnshow4 = (Button) findViewById(R.id.btn4); btnshow4.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ LayoutInflater inflater = LayoutInflater.from(Main.this); View toast_view = inflater.inflate(R.layout.toast,null); Toast toast = new Toast(Main.this); toast.setView(toast_view); toast.show(); } });//在其他线程中显示 Button btnshow5 = (Button) findViewById(R.id.btn5); btnshow5.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v) { handler.post(new Runnable() { @Override public void run() { showToast(); } }); } });} public void showToast(){ Toast toast=Toast.makeText(getApplicationContext(), "Toast在其他线程中调用显示", Toast.LENGTH_SHORT); toast.show(); } Handler handler = new Handler(){ @Override public void handleMessage(Message msg){ int what=msg.what; switch(what){ case 1: showToast(); break; default: break; } super.handleMessage(msg); } };}
由于代码比较简单就不做过多的解释了。大家有问题可以在下面留言。
Reference:
1.http://www.cnblogs.com/ycxyyzw/archive/2013/03/12/2955845.html
2.http://www.runoob.com/w3cnote/android-tutorial-toast.html
3.http://www.cnblogs.com/zhengcheng/p/4423468.html
4.http://www.jianshu.com/p/81bd20476fbd
0 0
- android studio for android learning (十七) Toast使用详解
- android studio for android learning (二十七) UI控件动态加载机制浅析
- Android Toast使用详解
- android studio for android learning (一)
- android studio for android learning (二)
- android studio for android learning (四) 兼容性问题
- android studio for android learning (十八) android事件监听器绑定的方法详解
- Android Studio 在活动中使用Toast
- android源码分析 android toast使用详解 toast自定义
- android studio for android learning (二十五 )activity的启动模式详解与标志位简析
- android studio for android learning (七) Android Log类全解
- android studio for android learning (九) android之Adapter用法
- android studio for android learning (二十八) android基础知识
- android studio for android learning (六)在布局中常使用的单位
- android studio for android learning (八)开机启动界面splashActivity
- android studio for android learning (十六) support-annotations简介
- android studio for android learning (二十四 )bitmap and bitmapFactory
- Android-Studio使用详解
- ActiveMQ有支持两种事务
- java之小数位截取
- 指针与引用,宏与预处理,define与tpyedef
- Android源码学习之浅析SystemServer脉络
- 洛谷 P1969 [NOIP2013 D2T1] 积木大赛
- android studio for android learning (十七) Toast使用详解
- Android学习路线总结,绝对干货
- hdu 2044
- PKI证书签发系统(web版)
- Educational Codeforces Round 14
- malloc/free new/delete
- Broadcasting
- C++ 模板类的实现为何放在.h中
- spring IOC容器接口体系简介