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

时间:2021-05-19

效果如下所示:

我封装了一个类出来:

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的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章