public class MainActivity extends Activity {java
private View viewToast;android
@Overrideide
protected void onCreate(Bundle savedInstanceState) {布局
super.onCreate(savedInstanceState);this
setContentView(R.layout.activity_main);spa
Button bt = (Button) findViewById(R.id.bt);code
}orm
// 点击按钮弹出吐司xml
public void showToast(View view) {rem
viewToast = View.inflate(this, R.layout.view_show_address, null);
// 获取窗口管理者
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
// wm.addView(视图, 布局参数); xml
final WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.height = WindowManager.LayoutParams.WRAP_CONTENT;// layout_height
params.width = WindowManager.LayoutParams.WRAP_CONTENT;// layout_width
params.gravity = Gravity.TOP | Gravity.LEFT;// 左上对齐
params.x = 50;// 认为顶级布局是一相绝对布局
params.y = 50;
// 相关参数
params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE// 不能汇集
| WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE// 不能拖动
| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON;// 高亮
params.format = PixelFormat.TRANSLUCENT;// 背景透明 background
params.type = WindowManager.LayoutParams.TYPE_TOAST;// 类型,能够设置弹出吐司的级别
wm.addView(viewToast, params);
}
// 点击按钮关闭吐司
public void closeToast(View view) {
// 获取窗口管理者
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
//移除吐司的方法
wm.removeView(viewToast);
}
}
Activity的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/bt"
android:text="弹出吐司"
android:onClick="showToast"
/>
<Button
android:layout_marginTop="200dp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/close"
android:text="关闭吐司"
android:onClick="closeToast"
/>
</RelativeLayout>
吐司界面的布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#3F3F3F"
tools:context="com.itheima.mobilesafe70.MainActivity" >
<!-- 标题 -->
<TextView
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="15dp"
android:paddingBottom="15dp"
android:drawableLeft="@drawable/ic_launcher"
android:id="@+id/address"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text=" 自定义吐司窗口"
android:textSize="25sp" />
</LinearLayout>
最后记得加权限,否则会报错.
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />