<Android 基础(十六)> Toast
2016-07-06 22:04
627 查看
介绍
A toast provides simple feedback about an operation in a small popup. It only fills the amount ofspace required for the message and the current activity remains visible and interactive. For
example, navigating away from an email before you send it triggers a “Draft saved” toast to let
you know that you can continue editing later. Toasts automatically disappear after a timeout.
翻译:
Toast以一种小弹框的方式来给予用户反馈,它只需要消息可以显示出来的那小部分空间,同时Activity依
然可见可交互。例如,当你写邮件的时候退出,会触发“草稿已保存”的Toast来让你知道你以后可以继续
编辑这封邮件。Toast会在一段时间后自己消失。
类结构
Toast的成员成员解释
成员 | 含义 |
---|---|
Toast(Context) | 构造函数 |
show() | 显示Toast |
cancel() | 取消Toast |
setMargin(float,float) | 设置横向的margin和纵向的margin |
setGravity(int ,int, int) | 设置toast的位置重心和相对的XOffset, YOffset |
makeText(Context, CharSequence, int) | 利用字符串创建Toast |
makeText(Context, int, int) | 利用字符串资源创建Toast |
setView(View) | 设置自定义Toast显示的View |
setDuration(int) | 设置Toast的显示时间 |
setText | 设置Message文本内容 |
备注: | 部分getter方法和setter方法对应,没有写入 |
实际使用
布局文件activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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:orientation="vertical" 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="mraz.com.toastdemo.MainActivity"> <Button android:id="@+id/bt_simple" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorAccent" android:text="Simple Toast" /> <Button android:id="@+id/bt_custom" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:background="@color/colorPrimary" android:text="Custom Toast" /> </LinearLayout>
自定义的Toast布局
custom_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="40dp" android:background="@drawable/shape_bg" android:orientation="horizontal"> <ImageView android:layout_width="40dp" android:layout_height="40dp" android:src="@drawable/ic_account_circle_black_24dp" /> <TextView android:layout_width="wrap_content" android:layout_height="40dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:gravity="center" android:text="This is a Custom Toast !" android:textStyle="italic" /> </LinearLayout>
代码内容
package mraz.com.toastdemo; import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements View.OnClickListener { Context mContext; Button btSimple, btCustom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; btSimple = (Button) findViewById(R.id.bt_simple); btCustom = (Button) findViewById(R.id.bt_custom); btSimple.setOnClickListener(this); btCustom.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.bt_simple: Toast.makeText(mContext, " This is a simple toast", Toast.LENGTH_SHORT).show(); break; case R.id.bt_custom: LayoutInflater layoutInflater = LayoutInflater.from(mContext); View custToast = layoutInflater.inflate(R.layout.custom_toast, null); Toast toast = new Toast(mContext); toast.setView(custToast); toast.setDuration(Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.show(); break; } } }
实际效果
备注
Toast的内容比较简单,但是开发过程中应该会经常用到,说不定偶尔还会碰到显示不出来的情况,不要忘记执行show()方法,当然,还有可能是其他的原因导致你的Toast无法显示~相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories