View view = View.inflate(this, R.layout.number_address_toast, null);//左边是电话图片,右边是归属地信息的布局文件
view.setBackgroundResource(bgs[numberAddressBgWhich]);//也可以是一个TextView,bgs是一个背景图片的数组 numberAddressBgWhich是从SharedPreferences里读取的
TextView tv_number_address = (TextView) view.findViewById(R.id.tv_number_address);
tv_number_address.setText(address);//设置右边的归属地信息
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
// 窗体的参数就设置好了
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;
params.format = PixelFormat.TRANSLUCENT;
params.type = WindowManager.LayoutParams.TYPE_TOAST;
wm.addView(view, params);//参数一:自定义吐司里要显示的东西 参数二:窗体管理器
主要就是创建一个布局,这个布局可以是加载布局文件,也可是只是一个TextView,然后用WindowManager.addView(view,params);即可 第二个参数就是窗体
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/ic_menu_call" />
<TextView
android:id="@+id/tv_number_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="号码归属地"
android:textColor="#000000"
android:textSize="20sp" />
</LinearLayout>