`
bkship
  • 浏览: 47870 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

【转】Toast大全

 
阅读更多

长见识了,转来留着用

原帖地址:http://www.cnblogs.com/salam/archive/2010/11/10/1873654.html#2098707

 

Toast用于向用户显示一些帮助/提示。下面我做了5中效果,来说明Toast的强大,定义一个属于你自己的Toast。

1.默认效果

代码

Toast.makeText(getApplicationContext(), "默认Toast样式",
     Toast.LENGTH_SHORT).show();

 

2.自定义显示位置效果

代码

toast = Toast.makeText(getApplicationContext(),
     "自定义位置Toast", Toast.LENGTH_LONG);
   toast.setGravity(Gravity.CENTER, 0, 0);
   toast.show();

 

3.带图片效果

 

代码

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.icon);
   toastView.addView(imageCodeProject, 0);
   toast.show();

 

4.完全自定义效果

代码

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.icon);
   TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
   title.setText("Attention");
   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();

 

5.其他线程

 代码

new Thread(new Runnable() {
    public void run() {
     showToast();
    }
   }).start();

 

 

完整代码

1.Main,java

package com.wjq.toast;

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.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class Main extends Activity implements OnClickListener {
 Handler handler = new Handler();

 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.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);
  findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this);

 }

 public void showToast() {
  handler.post(new Runnable() {

   @Override
   public void run() {
    Toast.makeText(getApplicationContext(), "我来自其他线程!",
      Toast.LENGTH_SHORT).show();

   }
  });
 }

 @Override
 public void onClick(View v) {
  Toast toast = null;
  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.icon);
   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.icon);
   TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);
   title.setText("Attention");
   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;
  case R.id.btnRunToastFromOtherThread:
   new Thread(new Runnable() {
    public void run() {
     showToast();
    }
   }).start();
   break;

  }

 }
}

 

2.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="默认"></Button>
 <Button android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:text="自定义显示位置"
  android:id="@+id/btnSimpleToastWithCustomPosition"></Button>
 <Button android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:id="@+id/btnSimpleToastWithImage"
  android:text="带图片"></Button>
 <Button android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:text="完全自定义"
  android:id="@+id/btnCustomToast"></Button>
 <Button android:layout_height="wrap_content"
  android:layout_width="fill_parent" android:text="其他线程"
  android:id="@+id/btnRunToastFromOtherThread"></Button>

</LinearLayout>

 

3.custom.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns: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" >
 <TextView
  android: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" />
 <LinearLayout
  android: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" >
  <ImageView
   android:layout_height="wrap_content"
   android:layout_gravity="center"
   android:layout_width="wrap_content"
   android:id="@+id/tvImageToast" />
  <TextView
   android: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 自定义背景、图片 随心使用

    在Android开发中,`Toast`是一种轻量级的提示方式,用于向用户显示短暂的信息,如操作结果或者简单的提示。通常,`Toast`会显示一个简单的文本消息,但默认样式可能无法满足所有设计需求。本篇文章将深入探讨如何在...

    带图片的toast

    在标题“带图片的toast”和描述中,我们看到了几个关键知识点,包括如何在Toast中添加图片、调整Toast的显示位置、自定义Toast的布局以及手动取消Toast。下面将对这些主题进行详细的探讨。 1. **带图片的Toast** ...

    自定义Toast效果5种

    在Android开发中,`Toast`是一种常见的提示用户信息的方式,它会在屏幕的指定位置短暂显示一个消息,然后自动消失。然而,系统默认的`Toast`样式可能无法满足所有设计需求,因此开发者有时需要自定义`Toast`的效果。...

    各种Toast的设计Demo

    在Android开发中,`Toast`是一种常见的用户反馈机制,用于在界面上短暂显示简短的信息。这个"各种Toast的设计Demo"旨在提供一个便捷的方式,帮助开发者实现不同类型的Toast展示效果。下面将详细介绍`Toast`的基本...

    Android自定义彩色Toast源码

    在Android开发中,Toast是一种轻量级的通知方式,它能够在屏幕中央或底部显示短暂的信息,而不会阻断用户的操作。然而,系统默认的Toast样式较为单一,通常只有黑色文字和白色背景。为了满足用户界面的个性化需求,...

    你可能不知道的Toast用法

    比如,当应用处于后台时,`Toast`无法显示,此时可以转而使用`Notification`来提醒用户。 8. **使用第三方库** 为了获得更丰富的`Toast`效果,可以考虑使用第三方库,如`SweetAlert`或`Android-ToastHelper`,它们...

    Appium识别toast提示

    【Appium识别toast提示】在手机自动化测试领域,Appium是一个广泛应用的工具,但与之相关的挑战在于如何有效地处理和验证toast提示。Toast提示通常在应用程序中短暂显示关键信息,如操作成功或失败的通知,而Appium...

    android自定义Dialog、Toast

    在Android开发中,自定义Dialog和Toast是提升用户体验和界面个性化的重要手段。Dialog通常用于向用户展示临时信息或需要用户做出决策的情况,而Toast则用于轻量级的通知,它们都会在一段时间后自动消失。本篇将详细...

    Android-自定义toast提示可设置做了封装

    在Android应用开发中,系统默认的Toast提示虽然简单易用,但往往无法满足开发者对于个性化提示的需求。为了提供更丰富的提示效果和更好的用户体验,开发者常常会选择自定义Toast。本资源"Android-自定义toast提示可...

    自定义toast 加改造的日历选择控件

    本主题将深入探讨如何自定义一个带有图片的Toast以及改造日历选择控件。 首先,我们来看“自定义Toast”。原生的Toast类在Android系统中提供了简单快速的方式来显示短暂的信息提示,但它默认样式较为单一,无法满足...

    带图片的Toast,可显示到屏幕任意位置

    在Android开发中,`Toast`是一种轻量级的提示组件,通常用来显示简短的信息,如用户操作反馈或系统提示。然而,标准的`Toast`只支持文本展示,不直接支持图片显示。针对这一需求,我们可以自定义一个`Toast`,使其...

    Android应用源码之自定义彩色Toast.zip

    在Android开发中,Toast是一种轻量级的通知方式,它用于显示短暂的信息,通常用来提示用户某个操作的结果。然而,Android系统默认的Toast样式是单一的,颜色固定为黑色文字在白色背景上。为了使应用程序更加个性化,...

    Toast通知.rar

    在Android开发中,Toast是一种轻量级的通知方式,它能够在屏幕上的某个位置短暂显示一条信息,然后自动消失,不会中断用户的操作。这个“Toast通知.rar”文件很可能包含了一个易语言编写的Android应用示例,用于展示...

    安卓动画效果相关-loadtoast带动画的好看toast.rar

    这个名为"loadtoast带动画的好看toast.rar"的压缩包文件,显然包含了一些用于创建具有动画效果的自定义Toast的资源和代码。Toast在Android系统中是一种轻量级的提示方式,通常用来显示短暂的信息,而加载中的动画则...

    自定义Toast

    在Android应用开发中,`Toast`是一个非常常用的组件,它用于显示短暂的信息提示,通常用于向用户反馈一些操作结果或状态。系统自带的`Toast`虽然简单易用,但其样式和显示时间有限,不能满足所有设计需求。因此,...

    带图片的Toast消息提示&单选列表项对话框&自定义View对话框

    今天我们将探讨三个关键知识点:带图片的Toast消息提示、单选列表项对话框以及自定义View对话框。这些功能可以帮助开发者提升应用程序的交互性和视觉吸引力。 首先,让我们来讨论如何实现带图片的Toast消息提示。在...

    自定义toast

    在Android开发中,Toast是一种轻量级的通知方式,它用于短暂地显示消息,而不会中断用户的操作。然而,系统默认的Toast样式有时无法满足开发者的需求,因此,自定义Toast成为了提高用户体验的重要手段。本文将深入...

    自定义动画toast.zip

    在Android开发中,Toast是一种轻量级的通知方式,它用于显示短暂的信息,不会阻断用户与界面的交互。自定义动画Toast则是对默认Toast的一种扩展,允许开发者通过自定义动画效果来增强用户体验。本资源“自定义动画...

    自定义彩色Toast.zip

    在Android开发中,Toast是一种轻量级的通知方式,它用于显示短暂的信息,通常用来提示用户一些操作的结果。自定义彩色Toast则是在系统默认的Toast基础上进行个性化设计,以满足开发者和用户对界面视觉效果的更高需求...

Global site tag (gtag.js) - Google Analytics