android下的自定义吐司.


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" />

相关文章
相关标签/搜索