使用PopupWindow的实现步骤

第一步 自定义.xml布局文件

第二步 获取LayoutInflater对象

第三步 调用inflate()方法获取View对象

第四步 创建PopupWindow对象

第五步 调用PopWindow的showAsDropDown或者showAsLocation方法显示对话框窗口

mian6.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >

        <Button
            android:id="@+id/btn_open"
            android:text="自定义对话框"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerInParent="true"
            android:onClick="btnClick"/>


</RelativeLayout>

layout_myself_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#fff"
    >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:background="#0e2438"
        android:gravity="center"
        android:orientation="horizontal"
        >
        <TextView
            android:text="提醒"
            android:textSize="18sp"
            android:textColor="#fff"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


        </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"


        android:gravity="center"
        android:orientation="vertical"
        android:padding="10dp"
        >
        <TextView
            android:text="恭喜您,验证码发送成功"
            android:textSize="18sp"
            android:textColor="#000"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />


        <Button
            android:id="@+id/btn"
            android:text="确定"
            android:textColor="#fff"
            android:textSize="14sp"
            android:layout_width="66dp"
            android:layout_height="30dp"
            android:background="@drawable/btn_selector"
            android:layout_marginTop="10dp"/>


    </LinearLayout>


</LinearLayout>

MainActivity7.java
package com.spl.demo.fristapp;


import android.app.Activity;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.PopupWindow;




public class MainActivity7 extends Activity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main6);


        LayoutInflater inflater = LayoutInflater.from(this);


        View myView = inflater.inflate(R.layout.layout_myself_dialog, null);


        popup = new PopupWindow(myView,600,450);//设置宽高


        myView.findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                popup.dismiss();//关闭窗口
            }
        });
    }
    PopupWindow popup;//声明PopupWindow
    public void btnClick(View v){
        popup.showAtLocation(findViewById(R.id.btn_open), Gravity.CENTER,0,0);
    }


}

posted @ 2017-04-10 19:53  Philtell  阅读(125)  评论(0编辑  收藏  举报