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

溫馨提示×

懸浮菜單在android中的實現方式

小樊
96
2024-09-06 16:21:31
欄目: 編程語言

在Android中,實現懸浮菜單通常有兩種方法:使用PopupWindow或者使用PopupMenu

  1. 使用PopupWindow:

首先,創建一個布局文件(例如:popup_window.xml),定義懸浮菜單的內容和樣式。

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

   <TextView
        android:id="@+id/item1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:text="Item 1" />

   <TextView
        android:id="@+id/item2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:text="Item 2" />

</LinearLayout>

接下來,在Activity或Fragment中創建并顯示PopupWindow。

// 創建PopupWindow實例
PopupWindow popupWindow = new PopupWindow(this);
popupWindow.setContentView(LayoutInflater.from(this).inflate(R.layout.popup_window, null));
popupWindow.setWidth(ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setOutsideTouchable(true);
popupWindow.setFocusable(true);

// 設置點擊事件
View item1 = popupWindow.getContentView().findViewById(R.id.item1);
item1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 處理點擊事件
    }
});

View item2 = popupWindow.getContentView().findViewById(R.id.item2);
item2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 處理點擊事件
    }
});

// 顯示PopupWindow
View anchorView = findViewById(R.id.anchor_view); // 錨點視圖,即懸浮菜單顯示在哪個視圖的周圍
popupWindow.showAsDropDown(anchorView);
  1. 使用PopupMenu:

首先,在res/menu目錄下創建一個菜單資源文件(例如:popup_menu.xml)。

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/item1"
        android:title="Item 1" />
    <item
        android:id="@+id/item2"
        android:title="Item 2" />
</menu>

接下來,在Activity或Fragment中創建并顯示PopupMenu。

View anchorView = findViewById(R.id.anchor_view); // 錨點視圖,即懸浮菜單顯示在哪個視圖的周圍
PopupMenu popupMenu = new PopupMenu(this, anchorView);
popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());

// 設置點擊事件
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.item1:
                // 處理點擊事件
                break;
            case R.id.item2:
                // 處理點擊事件
                break;
        }
        return true;
    }
});

// 顯示PopupMenu
popupMenu.show();

這兩種方法都可以實現懸浮菜單,你可以根據項目需求選擇合適的方法。

0
衡阳县| 奉化市| 巩留县| 连平县| 平舆县| 城口县| 金山区| 财经| 永胜县| 龙江县| 青田县| 峨眉山市| 天长市| 永吉县| 门源| 利津县| 贵阳市| 黔东| 梨树县| 女性| 阿合奇县| 和顺县| 左权县| 昌平区| 西乡县| 达州市| 徐闻县| 莒南县| 东乡县| 建德市| 阿拉善右旗| 杭锦后旗| 巴里| 民和| 乐业县| 三明市| 溧水县| 和政县| 娱乐| 安仁县| 尉犁县|