Toast简介

官网对Toast的介绍如下:

A toast provides simple feedback about an operation in a small popup. It only fills the amount of space required for the message and the current activity remains visible and interactive. Toasts automatically disappear after a timeout.

对Toast的特点总结如下:

  • 在应用运行到某阶段以后,在前台界面显示简单的反馈信息
  • 占据很少的显示空间
  • 不会获取焦点
  • 在一定时间以后自动消失

用法实例

默认Toast

简单方式:

Toast.makeText(context, text, duration).show();

复杂一点的方式:

Context context = getApplicationContext();CharSequence text = "Hello toast!";int duration = Toast.LENGTH_SHORT;Toast toast = Toast.makeText(context, text, duration);toast.show();

改变位置的Toast

使用setGravity(int gravity, int xOffset, int yOffset)函数改变Toast的位置。
参数含义:
gravity:对齐方式,常用取值如下:

Gravity.CENTERGravity.CENTER_HORIZONTALGravity.CENTER_VERTICALGravity.LEFTGravity.TOPGravity.BOTTOM

xOffset:水平方向偏移量(负值向左偏移,正值向右偏移)
yOffset:垂直方向偏移量(负值向上偏移,正值向下偏移)
示例代码如下:

Context context = getApplicationContext();CharSequence text = "Hello toast!";int duration = Toast.LENGTH_SHORT;Toast toast = Toast.makeText(context, text, duration);toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 0);toast.show();

自定义布局的Toast

创建新的布局文件:toast_layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              android:id="@+id/custom_toast_container"              android:orientation="horizontal"              android:layout_width="fill_parent"              android:layout_height="fill_parent"              android:padding="8dp"              android:background="#DAAA"              >    <ImageView android:src="@drawable/droid"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:layout_marginRight="8dp"               />    <TextView android:id="@+id/text"              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:textColor="#FFF"              />LinearLayout>

然后使用void setView (View view)函数为Toast指定布局文件:

LayoutInflater inflater = getLayoutInflater();View layout = inflater.inflate(R.layout.toast_layout,                (ViewGroup) findViewById(R.id.custom_toast_container));TextView text = (TextView) layout.findViewById(R.id.text);text.setText("This is a custom toast");Toast toast = new Toast(getApplicationContext());toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);toast.setDuration(Toast.LENGTH_LONG);toast.setView(layout);toast.show();

更多相关文章

  1. 使用Kotlin的Android(安卓)Toast
  2. Android:线性布局(LinearFrame)例子
  3. BroadcastReceiver
  4. Android(安卓)获取系统自带相机的照片
  5. Android布局中添加条横线
  6. Android(安卓)搜索框自动提示及其保存历史记录
  7. Android转盘抽奖的简单实现
  8. Android--一段兼容居中和满屏满屏的布局
  9. android recycler添加分割线 点击事件等

随机推荐

  1. Android(安卓)中全屏、取消标题栏
  2. android中的ellipsize
  3. android APK的屏幕方向
  4. ch012 Android(安卓)Spinner与Autocomple
  5. android 布局
  6. android shape 画圆 画环
  7. Android下OpenCV的环境搭建
  8. android 输入框 XML 设置于代码设置异同
  9. Android(安卓)NDK下载:Download Android(
  10. Android(Lollipop/5.0) Material Design(