Popwindow的用法介紹

一、什麼是Popwindow

1、Popwindow是一種類似於Dialog的浮動窗口,它可以在當前的Activity或者Fragment之上彈出。一般情況下,它會有一個較為短暫的生命周期,並且不能遮擋整個屏幕。

2、Popwindow常用於下拉列表、選擇菜單、ToolTip提示、彈出框等UI元素的實現。

二、Popwindow的創建

1、使用Popwindow的3個核心步驟:①創建、②設置屬性、③顯示。

2、創建Popwindow的過程中需要用到 View 和 LayoutInflator 這兩個類。

    //創建視圖
    View popView = LayoutInflater.from(context).inflate(R.layout.pop_view, null);
    //實例化Popwindow
    final PopupWindow popupWindow = new PopupWindow(popView, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, true);

3、此時,我們已經成功創建了一個Popwindow,接下來我們需要對其進行設置屬性。

三、Popwindow的屬性設置

1、Popwindow的屬性設置包括以下幾個方面:大小、位置、動畫、背景、可否聚焦、可否觸摸外部消失、點擊事件等。

2、以下是常用的Popwindow屬性設置代碼:

    popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);//設置寬度
    popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);//設置高度 
    popupWindow.setAnimationStyle(R.style.PopAnim);//設置動畫
    popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//設置背景顏色
    popupWindow.setOutsideTouchable(true);//設置可否觸摸外部取消顯示
    popupWindow.setFocusable(true);//設置焦點
    popView.setOnClickListener(new View.OnClickListener() {//設置點擊事件
        @Override
        public void onClick(View v) {
            Toast.makeText(context, "Click pop view", Toast.LENGTH_SHORT).show();
        }
    });
    popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {//設置消失監聽
        @Override
        public void onDismiss() {
            Toast.makeText(context, "Popwindow dismissed", Toast.LENGTH_SHORT).show();
        }
    });

四、Popwindow的顯示

1、Popwindow的顯示一般有以下幾種方法: ①showAsDropDown、②showAtLocation、③showAsDropDown與showAtLocation相比,前者可以讓Popwindow相對於某個View彈出。

2、showAsDropDown的使用示例:

    View anchor = findViewById(R.id.anchor_view);
    popupWindow.showAsDropDown(anchor, 0, 0, Gravity.CENTER);//顯示在控件底部居中

五、總結

Popwindow是一種非常實用的浮動窗口,在Android應用開發中常常被用於菜單、列表、提示等UI實現。創建Popwindow需要使用LayoutInflator和View兩個類,屬性設置可使用setWidth、setHeight、setAnimationStyle、setBackgroundDrawable、setOutsideTouchable、setFocusable等方法進行設置,最後可通過showAsDropDown或showAtLocation來顯示Popwindow。掌握Popwindow的創建、設置和顯示方法後,我們可以很好地運用它實現各種UI元素的效果。

原創文章,作者:PQCOL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/370604.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
PQCOL的頭像PQCOL
上一篇 2025-04-22 01:14
下一篇 2025-04-22 01:14

發表回復

登錄後才能評論