android Toast五种特效
Toast是一种提供给用户简洁信息的视图。Toast类帮助你创建和显示该信息。
该视图已浮于应用程序之上的形式呈现给用户。因为它并不获得焦点,即使用户正在输入什么也不会受到影响。它的目标是尽可能已不显眼的方式,使用户看到你提供的信息。有两个例子就是音量控制和设置信息保存成功。
使用该类最简单的方法就是调用一个静态方法,让他来构造你需要的一切并返回一个新的 Toast 对象。
1、我们首先来看看Toast常用 的默认效果:
2、我们还可以自定义位置:
3、带图片的:
4、完全实现我们自己的自定义效果:
5、可以由其它线程更新:
查看源代码:
HelloToastActivity.java
- package hb.android.hellotoast;
- import android.app.Activity;
- import android.os.Bundle;
- import android.os.Handler;
- import android.view.Gravity;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- public class HelloToastActivity extends Activity {
- /** Called when the activity is first created. */
- Button btn_default;
- Button btn_define;
- Button btn_all_define;
- Button btn_image_define;
- Button btn_other_thread;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- initButton();
- btn_all_define.setOnClickListener(new MyOnClickListerer());
- btn_define.setOnClickListener(new MyOnClickListerer());
- btn_other_thread.setOnClickListener(new MyOnClickListerer());
- btn_image_define.setOnClickListener(new MyOnClickListerer());
- btn_default.setOnClickListener(new MyOnClickListerer());
- }
- public void initButton() {
- btn_all_define = (Button) findViewById(R.id.btn_all_define);
- btn_default = (Button) findViewById(R.id.btn_default);
- btn_define = (Button) findViewById(R.id.btn_define);
- btn_image_define = (Button) findViewById(R.id.btn_image_define);
- btn_other_thread = (Button) findViewById(R.id.btn_other_thread);
- }
- private class MyOnClickListerer implements OnClickListener {
- Handler handler = new Handler();
- @Override
- public void onClick(View v) {
- if (v == btn_default) {
- Toast.makeText(getApplicationContext(), "这 是默认效果",
- Toast.LENGTH_SHORT).show();
- } else if (v == btn_define) {
- Toast toast = Toast.makeText(getApplicationContext(),
- "这是自定义位置", Toast.LENGTH_SHORT);
- toast.setGravity(Gravity.CENTER, 0, 0);
- toast.show();
- } else if (v == btn_image_define) {
- Toast toast = Toast.makeText(getApplicationContext(), "这是带图片的",
- Toast.LENGTH_SHORT);
- LinearLayout toastView = (LinearLayout) toast.getView();
- ImageView imageCodeProject = new ImageView(
- getApplicationContext());
- imageCodeProject.setImageResource(R.drawable.ic_launcher);
- toastView.addView(imageCodeProject, 0);
- toast.show();
- } else if (v == btn_all_define) {
- LayoutInflater inflater = getLayoutInflater();
- View view = inflater.inflate(R.layout.custom, null);
- ImageView iv = (ImageView) view.findViewById(R.id.tvImageToast);
- iv.setImageResource(R.drawable.ic_launcher);
- TextView title = (TextView) view
- .findViewById(R.id.tvTitleToast);
- title.setText("Attention");
- TextView text = (TextView) view.findViewById(R.id.tvTextToast);
- text.setText("完全自定义Toast");
- Toast toast = new Toast(getApplicationContext());
- toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);
- toast.setDuration(Toast.LENGTH_LONG);
- toast.setView(view);
- toast.show();
- } else if (v == btn_other_thread) {
- new Thread(new Runnable() {
- public void run() {
- System.out.println("d");
- showToast();
- }
- }).start();
- }
- }
- public void showToast() {
- handler.post(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getApplicationContext(), "我来自其他线程!",
- Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- }
custom.xml
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/llToast"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:background="#ffffffff"
- android:orientation="vertical" >
- <TextView
- android:id="@+id/tvTitleToast"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_margin="1dip"
- android:background="#bb000000"
- android:gravity="center"
- android:textColor="#ffffffff" />
- <LinearLayout
- android:id="@+id/llToastContent"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginBottom="1dip"
- android:layout_marginLeft="1dip"
- android:layout_marginRight="1dip"
- android:background="#44000000"
- android:orientation="vertical"
- android:padding="15dip" >
- <ImageView
- android:id="@+id/tvImageToast"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center" />
- <TextView
- android:id="@+id/tvTextToast"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:paddingLeft="10dip"
- android:paddingRight="10dip"
- android:textColor="#ff000000" />
- </LinearLayout>
- </LinearLayout>
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_height="fill_parent"
- android:orientation="vertical"
- android:gravity="center_horizontal">
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="建立属于你自己的Toast" />
- <Button
- android:id="@+id/btn_default"
- android:text="默认"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"/>
- <Button
- android:id="@+id/btn_define"
- android:text="自定义位置"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"/>
- <Button
- android:id="@+id/btn_image_define"
- android:text="带图片"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"/>
- <Button
- android:id="@+id/btn_all_define"
- android:text="完全自定义效果"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"/>
- <Button
- android:id="@+id/btn_other_thread"
- android:text="来自其它纯种"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:gravity="center_horizontal"/>
- </LinearLayout>
源码下载:Android Toast用法详解(各种自定义Toast)
ref:http://blog.csdn.net/huangbiao86/article/details/6965669
android Toast五种特效相关推荐
- java简述常见的布局极其特点_请简要说明 Android 中五种常见布局的特点。_学小易找答案...
[简答题]请简要说明有序广播和无序广播的区别 [简答题]请简要说明 Android 程序结构中 AndroidManifest.xml 的功能? [简答题]简述李村站人工办理进路的作业过程. [简答题 ...
- Android中五种常用对话框的使用
场景 Android中常用的五种对话框为 常规对话框.带列表的对话框.自定义的对话框.带进度条的对话框.带日期选择器的对话框. 注: 博客: https://blog.csdn.net/badao_l ...
- android toast几种使用方法 (转)
toast经常会用到,今天做个总结,特别是自定义toast的布局,值得一看. 一.默认展示 // 第一个参数:当前的上下文环境.可用getApplicationContext()或this // 第二 ...
- 【android】五种控制Android应用的权限的方法
转自:http://www.cnbeta.com/articles/181913.htm 1 为什么Android总是事无巨细地告诉你应用索取的每一项权限? 相比Apple,Microsoft严格控 ...
- Android中五种常用的menu
Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...
- Android UI开发第二十九篇——Android中五种常用的menu(菜单)
Android Menu在手机的应用中起着导航的作用,作者总结了5种常用的Menu. 1.左右推出的Menu 前段时间比较流行,我最早是在海豚浏览器中看到的,当时耳目一新.最早使用左右推出菜单的,听说 ...
- [Android Studio]掌握Android Studio的五种常见控件和五种常见布局
目录 一.View和ViewGroup 二.Android的五种常见控件 2.1 文本控件 2.1.1 TextView 2.1.2 EditText 2.2 按钮控件 2.2.1 Button 2. ...
- Android中常见五种布局管理器——RelativeLayout、LinearLayout、FrameLayout、TableLayout、GridLayout
目录 布局管理器 RelativeLayout 常见属性 Relative的实践操作(实现软件更新界面) LinearLayout 常见属性 LinearLayout的实践操作(模范登录以及微信底部) ...
- Android特效 五种Toast详解
Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失.而且Toast主要用于向用户显示提示消 ...
- Android数据存储五种方式总结
1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解 ...
最新文章
- ASP.NET4.0中客户端ID的生成
- 量子计算机编程原理简介 和 机器学习
- Apache URL重写的配置 及其 apache500错误
- 接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)
- 如何 给给软件开发 添加 代理_如何与软件开发公司有效沟通
- 雪花飞舞的java程序_【图片】请问大神帮我看看一段代码,老是提示空指针异常【java吧】_百度贴吧...
- genymotion集成eclipse插件安装教程
- .Net 1.1 到 .Net 2.0 开发日志
- java教程配置通达信,通达信公式转换JAVA,通达信20个经典公式
- 自创RTSP 服务器 用多款客户端软件测试接入可以,唯独VLC接入不了
- java ffmpeg amr mp3_java利用ffmpeg将amr、caf转mp3格式
- 给宝宝做一个cocos免费游戏-故事和开始界面
- WebView截取长图
- 反复踩坑的ceres安装-----ubuntu18.04
- office 无法正常读取打开 pptx 文件的解决办法
- Unresolved compilation problem,问题
- 华为设备配置BGP负载分担
- 1.0、Python概述
- 谈谈卷积神经网络和循环神经网络
- CodeM2018 初赛A轮 第1,2题