android 自定义Toast显示风格
16lz
2021-01-26
转自 点击打开链接
我自己有稍作修改
1.创建一个自己想要显示Toast风格的XML如下代码(toast_xml.xml):
<?xml version="1.0" encoding="utf-8"?>
2.封装一个Toast共同类,当然也可以直接在activity运用,那么我是用共通类,当然只是简单的封装:
public class My_Toast { private static My_Toast my_toast; private Toast toast; private My_Toast(){ } public static My_Toast createToastConfig(){ if (my_toast==null) { my_toast = new My_Toast(); } return my_toast; } public void ToastShow(Context context,ViewGroup root,String tvString){ View layout = LayoutInflater.from(context).inflate(R.layout.toast_xml, root,false);//这里的false有必要添加,不然报错 TextView text = (TextView) layout.findViewById(R.id.toast_id); text.setText(tvString); toast = new Toast(context); toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0); toast.setDuration(Toast.LENGTH_LONG); toast.setView(layout); toast.show(); }}
3.创建一个Activity去引用该共通类:
import com.sbr.commonView.ToastCommom;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.view.ViewGroup;import android.widget.Button;public class ToastActivity extends Activity {private Button mbutton;private ToastCommom toastCommom;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.toast_buton);toastCommom = ToastCommom.createToastConfig();mbutton = (Button) findViewById(R.id.btn);mbutton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubtoastCommom.ToastShow(ToastActivity.this, (ViewGroup)findViewById(R.id.toast_layout_root(这里是将要包含该组件的父类组件id)), "你好");}});}}
好了,一个简单的自定义toast显示就完成了;当然万变不离其宗,都是类似的做法。
更多相关文章
- 竖直方向,一次滚动一个页面的封装库。
- React Native学习第三天
- (4.2.4)【android开源组件】Android(安卓)省市县 三级联动(android-
- Android触发器组件BroadcastReceiver详解
- Android(安卓)ImageView设置图片原理
- 第九章、 四大组件的工作过程
- Android(安卓)RecyclerView DiffUtil 局部刷新 整理 踩坑 封装
- Android(安卓)RecyclerView —— 适配器封装探索
- Android(安卓)Jetpack架构组件Navigation管理Fragment框架