91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Android PopupMenu點擊外部是否可以自動關閉

小樊
93
2024-07-12 00:06:38
欄目: 編程語言

在Android中,PopupMenu是一個彈出式菜單,通常顯示在屏幕的某個位置上。默認情況下,PopupMenu是不會在點擊外部區域時自動關閉的,用戶需要手動點擊菜單之外的區域或者按下返回鍵來關閉PopupMenu。

如果想要實現點擊外部區域自動關閉PopupMenu的功能,可以通過以下幾種方法實現:

  1. 使用setOnDismissListener()方法監聽PopupMenu的dismiss事件,然后在dismiss事件中關閉PopupMenu。
PopupMenu popupMenu = new PopupMenu(context, anchorView);
popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
    @Override
    public void onDismiss(PopupMenu menu) {
        // 關閉PopupMenu
        menu.dismiss();
    }
});
  1. 自定義PopupMenu的顯示和隱藏邏輯,可以在PopupWindow中自定義顯示和隱藏菜單,并在顯示的時候設置外部可點擊,點擊外部區域時關閉菜單。
// 創建一個PopupWindow
PopupWindow popupWindow = new PopupWindow(popupView, width, height, true);

// 設置PopupWindow的外部可點擊
popupWindow.setOutsideTouchable(true);

// 設置PopupWindow的背景
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));

// 處理點擊外部區域關閉菜單
popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
    @Override
    public void onDismiss() {
        // 關閉PopupWindow
        popupWindow.dismiss();
    }
});

// 顯示PopupWindow
popupWindow.showAsDropDown(anchorView);

通過以上方法,可以實現在點擊外部區域時自動關閉PopupMenu的功能。

0
基隆市| 太仆寺旗| 红原县| 获嘉县| 莫力| 常山县| 凌云县| 庆阳市| 大埔区| 仪陇县| 鹿邑县| 邵阳县| 新巴尔虎右旗| 邓州市| 如皋市| 白水县| 青州市| 新乐市| 五指山市| 长寿区| 青铜峡市| 嫩江县| 晴隆县| 乐陵市| 崇州市| 通道| 曲沃县| 永泰县| 武城县| 鹤峰县| 理塘县| 广州市| 加查县| 博白县| 赤壁市| 平江县| 罗田县| 海阳市| 承德县| 沾益县| 蓬溪县|