自定义toast外形,多次点击不会总是弹出toast
2015-09-14 21:03
639 查看
转载请注明出处,谢谢/article/8093869.html
效果如下所示:
我封装了一个类出来:
toast_custome里的代码如下所示:
下面的两个TextView是分别让toast变宽一些,和变高一些,这样会好看一些。
在drawable/selected_etoast_background里的代码如下所示:
上面的感叹号图片,如下所示:
这样在Activity里用的时候,如下代码所示:
结束。
效果如下所示:
我封装了一个类出来:
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, "请先选择类型!");
结束。
相关文章推荐
- 类的定义中不能包含其自身类型,但是能包含其自身的指针和引用类型
- JavaScript嵌套函数this的重定向
- REDIS基础笔记
- [PHP工具推荐]0001.分析和解析代码的7大工具
- Linux磁盘和文件系统管理(2)_文件系统检测
- 面向对象的继承性和多态性
- C#控件改变大小时闪烁问题
- Android0912<十七>(Android 网络URLConnection)(ing多线程下载)
- 筛选法求素数
- linux常用命令(29):chmod命令命令
- try异常处理与Scanner循环问题
- Android网络连接---xUtils(HttpUtils)
- 冒泡排序
- 手机新闻网站,手持移动新闻,手机报client,jQuery Mobile手机新闻网站,手机新闻网站demo,新闻阅读器开发
- inline-block元素之间空白间距的解决办法
- DOM
- “友谊竞赛”活动策划书
- 文件(夹)属主权限chown
- Longest Substring Without Repeating Characters
- 2015年9月11日codercup编程世界杯(北京)总结