Android Toast 吐司 自定义使用 展示图片 Toast自定义教程(一)
最近的项目中需要用到自定义Toast,于是便学习了一下。
效果图
Toast用于向用户显示一些帮助或提示,上面展示了Toast的4种使用效果,有需求的话也可以完全自定义,是一项很实用也很强大的功能。
这是使用Toast需要注意的代码:
LENGTH_LONG---长时间显示视图或文本提示
LENGTH_SHORT---短时间显示视图或文本提示
setGravity(int gravity,int xOffset,int yOffset)---设置提示应该在屏幕上的显示的位置
setDuration(int duartion)---设置提示显示的持续时间
接下来我们分别讲解各种效果的代码:
1.默认Toast样式
Toast.makeText(getApplicationContext(), "默认Toast样式",Toast.LENGTH_SHORT).show();
最基础的用法,参数为 Context 上下文对象,CharSequence 提示语,Duration 显示时间
别忘了最后的.show() 用来显示Toast
2.自定义位置Toast
toast = Toast.makeText(getApplicationContext(),"自定义位置Toast", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();
加了这一行代码
setGravity(int gravity,int xOffset,int yOffset)---设置提示应该在屏幕上的显示的位置
CENTER为居中,x,y即从中心点计算
3.展示图片Toast
toast = Toast.makeText(getApplicationContext(),"Toast展示图片", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);LinearLayout toastView = (LinearLayout) toast.getView();ImageView imageCodeProject = new ImageView(getApplicationContext());imageCodeProject.setImageResource(R.drawable.ic_launcher_background);toastView.addView(imageCodeProject, 0);toast.show();
添加的代码:
实例化了一个LinearLayout ,以及ImageView,并且给ImageView设置资源文件
再在LinearLayout中添加ImageView,展示Toast。
4.完全自定义Toast
LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.llToast));ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);image.setImageResource(R.drawable.ic_launcher_background);TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);title.setText("自定义Toast");TextView text = (TextView) layout.findViewById(R.id.tvTextToast);text.setText("Toast完全自定义");toast = new Toast(getApplicationContext());toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);toast.setDuration(Toast.LENGTH_LONG);toast.setView(layout);toast.show();
获得 LayoutInflater 实例,载入布局文件
声明布局文件的几个View
实例化toast,设置位置 右对齐,置顶。
完整代码:
MainActivity.java
package com.example.toastviewdemo;import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);findViewById(R.id.btnSimpleToast).setOnClickListener(this);findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(this);findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this);findViewById(R.id.btnCustomToast).setOnClickListener(this);}@Overridepublic void onClick(View v) {Toast toast;switch (v.getId()) {case R.id.btnSimpleToast:Toast.makeText(getApplicationContext(), "Toast默认样式",Toast.LENGTH_SHORT).show();break;case R.id.btnSimpleToastWithCustomPosition:toast = Toast.makeText(getApplicationContext(),"Toast自定义展示位置", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();break;case R.id.btnSimpleToastWithImage:toast = Toast.makeText(getApplicationContext(),"Toast展示图片", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);LinearLayout toastView = (LinearLayout) toast.getView();ImageView imageCodeProject = new ImageView(getApplicationContext());imageCodeProject.setImageResource(R.drawable.ic_launcher_background);toastView.addView(imageCodeProject, 0);toast.show();break;case R.id.btnCustomToast:LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.llToast));ImageView image = (ImageView) layout.findViewById(R.id.tvImageToast);image.setImageResource(R.drawable.ic_launcher_background);TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);title.setText("自定义Toast");TextView text = (TextView) layout.findViewById(R.id.tvTextToast);text.setText("Toast完全自定义");toast = new Toast(getApplicationContext());toast.setGravity(Gravity.RIGHT | Gravity.TOP, 12, 40);toast.setDuration(Toast.LENGTH_LONG);toast.setView(layout);toast.show();break;}}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent" android:padding="5dip" android:gravity="center"><Button android:layout_height="wrap_content"android:layout_width="fill_parent" android:id="@+id/btnSimpleToast"android:text="默认Toast"></Button><Button android:layout_height="wrap_content"android:layout_width="fill_parent" android:text="自定义位置Toast"android:id="@+id/btnSimpleToastWithCustomPosition"></Button><Button android:layout_height="wrap_content"android:layout_width="fill_parent" android:id="@+id/btnSimpleToastWithImage"android:text="展示图片Toast"></Button><Button android:layout_height="wrap_content"android:layout_width="fill_parent" android:text="完全自定义Toast"android:id="@+id/btnCustomToast"></Button></LinearLayout>
custom.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_height="wrap_content" android:layout_width="wrap_content"android:background="#ffffffff" android:orientation="vertical"android:id="@+id/llToast" ><TextViewandroid:layout_height="wrap_content"android:layout_margin="1dip"android:textColor="#ffffffff"android:layout_width="fill_parent"android:gravity="center"android:background="#bb000000"android:id="@+id/tvTitleToast" /><LinearLayoutandroid:layout_height="wrap_content"android:orientation="vertical"android:id="@+id/llToastContent"android:layout_marginLeft="1dip"android:layout_marginRight="1dip"android:layout_marginBottom="1dip"android:layout_width="wrap_content"android:padding="15dip"android:background="#44000000" ><ImageViewandroid:layout_height="wrap_content"android:layout_gravity="center"android:layout_width="wrap_content"android:id="@+id/tvImageToast" /><TextViewandroid:layout_height="wrap_content"android:paddingRight="10dip"android:paddingLeft="10dip"android:layout_width="wrap_content"android:gravity="center"android:textColor="#ff000000"android:id="@+id/tvTextToast" /></LinearLayout>
</LinearLayout>
Android Toast 吐司 自定义使用 展示图片 Toast自定义教程(一)相关推荐
- Enjoy! 多达400多万的动态搞笑,爱情,友情。。。。表情下载 表情表情自定义表情表情图片下载 自定义QQ表情使用方法完全图解
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 多达40 ...
- android 中自定义键盘,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...
- android 修改系统键盘布局,【图片】自定义属于自己的专属键盘的思路!!!(需要有android编程基础)【exagear吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 最近玩一些全键盘游戏,比如elona,nethack等等这类游戏,模拟器的键盘就很不够用,那个 游戏键盘 软件用起来体验也很不好,今天自己就琢磨着为这些游 ...
- android厨房的使用方法,【图片】【教程】用安卓厨房制作自己的Rom【颓废rom吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 4.然后是美化 不喜欢或者不懂美化的同学可以绕过这一步了.这一步骤是毕竟比较难的,整个制作过程中涉及到手动反编译的就在这里. 美化主要是弄以下方面,修改s ...
- android手机 环境变量 文件,【图片】【教程】配置安卓Java环境变量【手机端反编译吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我:Baksmaling- 我:加载资源表-- 我:加载. 我:解码AndroidManifest.xml资源-- 从文件加载资源表:? / apktoo ...
- Android Toast 吐司 自定义使用 实现动态打勾对号效果 Toast自定义教程(三)
这篇博客主要是写了功能的实现,在前面已经写了原理. Android 自定义View 通过Paint和Canvas实现动态打勾对号效果 Android Toast 吐司 自定义使用 展示图片 Toast ...
- android调用系统相机并获取图片
如果不是特别的要求,通过拍照的方式取得图片的话,我们一般调用系统的拍照来完成这项工作,而没必要再自己去实现一个拍照功能.调用系统相机很简单,只需要一个intent就可以跳转到相几界面,然后再通过onA ...
- android拍照实现过程图,Android实现拍照截取和相册图片截取
关于拍照截取和相册截取,看了网上很多资料,自己整理了一份比较详细的,供有需要的人参考 1 拍照 原理就是通过intent调用系统的相机,拍完照在回调进行操作,成功获取到拍完照的图片根据uri调用系统 ...
- Android例子—自定义Toast(吐司)样式
1.直接调用Toast类的makeText()方法创建 这是我们用的最多的一种形式了!比如点击一个按钮,然后弹出Toast,用法: Toast.makeText(MainActivity.this, ...
- Android基础入门教程——2.5.1 Toast(吐司)的基本使用
Android基础入门教程--2.5.1 Toast(吐司)的基本使用 标签(空格分隔): Android基础入门教程 本节引言: 好的,终于学习完Adapter类相关的一些控件,当然除了讲解的那几个 ...
最新文章
- 技巧 | OpenCV中如何绘制与填充多边形
- linux命令简单汇总,直通车
- python简单代码演示效果-演示python如何创建和使用一个简单的元类的代码
- 【项目实战课】基于Pytorch的SRGAN图像超分辨实战
- svn 1.6 linux 下载,LINUX下Subversion1.6.17 部署
- 宠物次元经济专题分析2020
- kylin安装过程问题排查
- 口罩人脸检测与分类开源代码汇总
- Shell脚本常见执行报错案例
- 圆排列问题详解(原理+代码)
- 360安卓_360手机助手安卓下载
- 【秒懂音视频开发】13_AAC编码
- EA enterprise architect 画类图
- 三层交换(VLAN间通信)
- 【社招】【邮储总行】软件研发中心2022年社招开发专场
- Web安全 学习笔记
- Dialogs 介绍
- 经典蓝牙与低功耗蓝牙的区别
- Python实战——VAE的理论详解及Pytorch实现
- 1u服务器最多多少内存条,高密度节省空间 四款1U机架式服务器推荐