android: 用popupwindow显示浮动窗口

一,代码:

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="300dp"
    android:layout_height="300dp"
    android:background="#ff0000"
    android:orientation="vertical">

    <Button
        android:id="@+id/btn1"
        android:text="按钮一"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <Button
        android:id="@+id/btn2"
        android:text="按钮二"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>


</LinearLayout>

java

       //给按钮增加点击事件
        Button button3 = findViewById(R.id.button3);
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                //得到window
                View popup_view=getLayoutInflater().inflate(R.layout.popup_view,null);
                PopupWindow window=new PopupWindow(popup_view, 600, 400);
                window.showAsDropDown(v);
                //得到按钮
                Button btn1=popup_view.findViewById(R.id.btn1);
                Button btn2=popup_view.findViewById(R.id.btn2);

                //按钮1点击
                btn1.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Log.e("btnclick","按钮一被点击");
                        window.dismiss();
                    }
                });
                //按钮2点击
                btn2.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Log.e("btnclick","按钮二被点击");
                        window.dismiss();
                    }
                });

             }
        });

 

二,测试效果:

 

posted @ 2025-05-10 09:02  刘宏缔的架构森林  阅读(11)  评论(0)    收藏  举报