• PopupWindow


    效果图:popupWindow.gif

    弹窗布局:

    <?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="match_parent"
                  android:background="#000"
                  android:orientation="vertical">
    
        <Button
            android:id="@+id/btn_popup_windows_item1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Item1"
            android:textSize="18sp"/>
    
        <Button
            android:id="@+id/btn_popup_windows_item2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="Item2"
            android:textSize="18sp"/>
    
    </LinearLayout>
    
    
    void showPopupWindow(View view){
    
            View viewpw =View.inflate(TestActivity.this,R.layout.item_popup_window_layout,null);
            Button btn1=(Button) viewpw.findViewById(R.id.btn_popup_windows_item1);
    
            //设置背景透明效果 (注意Background必须背景色)(范围0~255)
            viewpw.getBackground().setAlpha(100);
    
            //创建PopupWindow 并设置宽 高
            final PopupWindow popupWindow = new PopupWindow(viewpw,
                    ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
    
            //设置焦点,这样的或就可以实现点击popupWindow外部区域,关闭popupWindow
            popupWindow.setFocusable(true);
    
            //设置显示位置
            popupWindow.showAsDropDown(view, 60,0); //指定View的下方
            //popupWindow.showAtLocation(view, Gravity.CENTER,0,0);  //屏幕中心
    
            btn1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Toast.makeText(TestActivity.this, "You click Item1", Toast.LENGTH_SHORT).show();
                    popupWindow.dismiss(); //关闭 PopupWindow
                }
            });
        }
    
    文章部分内容摘自网络和图书,如有侵权,请联系我。
  • 相关阅读:
    [codevs]失恋28天题目系列
    [NOIP1998]最大数
    [codevs4247]奇特的生物
    [codevs1380]没有上司的舞会
    [codevs2152]滑雪
    [codevs2171]棋盘覆盖
    [codevs2170]悠闲的漫步
    [codevs1557]热浪
    [codevs1554]最佳课题选择
    nodejs建站+github page 建站问题总结
  • 原文地址:https://www.cnblogs.com/-Tiger/p/7347857.html
Copyright © 2020-2023  润新知