自定义toast外形,多次点击不会总是弹出toast的实现方法

 更新时间:2017年04月11日 09:47:49   投稿:jingxian  
下面小编就为大家带来一篇自定义toast外形,多次点击不会总是弹出toast的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

效果如下所示:

我封装了一个类出来:

package com.amt.appstore.widgets;

import com.amt.appstore.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class CustomerToast {

 static Toast toast;

 public static void showToast(Context context, String content) {

 LayoutInflater inflater = LayoutInflater.from(context);
 View view = inflater.inflate(R.layout.toast_custome, null);
 TextView tv = (TextView) view.findViewById(R.id.text);
 tv.setText(content);

 //防止多次点击按钮出现很多toast一直不消失
 if (toast != null) {
  toast.setView(view);
 } else {
  toast = new Toast(context);
  toast.setView(view);
  toast.setDuration(Toast.LENGTH_SHORT);
 }
 toast.show();
 }

}

toast_custome里的代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:background="@drawable/selected_etoast_background" >

  <ImageView
    android:id="@+id/toast"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="13dp"
    android:layout_marginTop="10dp"
    android:src="@drawable/toast" />

  <TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="12dp"
    android:layout_marginTop="5dp"
    android:layout_toRightOf="@id/toast"
    android:text="请先选择类别"
    android:textColor="@color/white"
    android:textSize="24sp" />

  <TextView
    android:layout_width="10dp"
    android:layout_height="5dp"
    android:layout_toRightOf="@id/text" />

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="5dp"
    android:layout_below="@id/text" />

</RelativeLayout>

下面的两个TextView是分别让toast变宽一些,和变高一些,这样会好看一些。

在drawable/selected_etoast_background里的代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
  <!-- 内部颜色 --> 
  <solid android:color="@color/black" /> 
  <!-- 边缘线条颜色 --> 
  <stroke 
    android:width="1dp" 
    android:color="#00ffde" /> 
  <!-- 圆角的幅度 --> 
  <corners 
    android:radius="1dp" /> 

</shape>

上面的感叹号图片,如下所示:

这样在Activity里用的时候,如下代码所示:

CustomerToast.showToast(AppWallActivity.this, "请先选择类型!");

结束。

以上这篇自定义toast外形,多次点击不会总是弹出toast的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • android图像绘制(一)多种方法做图像镜像

    android图像绘制(一)多种方法做图像镜像

    在android中做图像镜像有很多方法,今天算是学习了,感兴趣的朋友可以参考下
    2013-01-01
  • Android自定义View之简约风歌词控件实战指南

    Android自定义View之简约风歌词控件实战指南

    一些接触Android不久的朋友对自定义View都有一丝畏惧感,总感觉这是一个比较高级的技术,但其实自定义View并不复杂,有时候只需要简单几行代码就可以完成了,这篇文章主要给大家介绍了关于Android自定义View之简约风歌词控件的相关资料,需要的朋友可以参考下
    2021-07-07
  • Android文件下载进度条的实现代码

    Android文件下载进度条的实现代码

    我们今天开始学习的是下载进度的实现。今天的这段代码是网上找的,自己做了些小改,通过模拟器测试。文件下载进度条控制(就是为了高清壁纸加个进度条),自己研究了好久,但是进度条只能显示缓存写入文件的进度,不能显示下载进度。找了好久,终于找到一段用的代码,所以记录下来,大家分享
    2013-01-01
  • Android数据库LitePal的基本用法详解

    Android数据库LitePal的基本用法详解

    这篇文章主要介绍了Android数据库LitePal的基本用法详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Android架构发展进化详解

    Android架构发展进化详解

    Android系统架构从上到下分为五层:应用层、应用框架层、系统运行库层、硬件抽象层、Linux内核层,Android架构也经历了多次演进,下面我们来详细了解一下
    2022-08-08
  • Android编程之Activity中onDestroy()调用分析

    Android编程之Activity中onDestroy()调用分析

    这篇文章主要介绍了Android编程之Activity中onDestroy()调用方法,针对onDestroy引起的内存泄露及解决方法进行了分析,并给出了解决方案,需要的朋友可以参考下
    2015-12-12
  • Android实现图片上传功能

    Android实现图片上传功能

    这篇文章主要为大家详细介绍了Android实现图片上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android开发技巧之Fragment的懒加载

    Android开发技巧之Fragment的懒加载

    我们都知道fragment放在viewPager里面,viewpager会帮我们预先加载一个,但是当我们要看fragment里面的内容时,我们也许只会去看第一个,不会去看第二个,如果这时候不去实现fragment的懒加载的话,就会多余的去加载一些数据,造成用户多消耗流量。下面来一起看看吧。
    2016-10-10
  • Android实现九格智能拼图算法

    Android实现九格智能拼图算法

    这篇文章主要为大家详细介绍了Android实现九格智能拼图算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Android学习之Fragment

    Android学习之Fragment

    Fragment是什么?碎片(Fragment)是一种可以嵌入在活动(activity)当中的UI片段,想要了解碎片的简单用法的朋友可以参考一下
    2016-01-01

最新评论