Android如何給Textview添加菜單項詳解(Java)

背景描述:

界面上有一個Textview和一個Button,當我們點擊Textview時會彈出一個菜單,然後我們選擇一個選項,最後點擊按鈕的時候,就會根據選擇的菜單項執行相應的函數。

解決辦法

總共分三個步驟:

1.首先在res文件夾下創建menu文件夾,然後創建菜單文件main.xml

2.在Activity中添加菜單,具體怎麼添加,先定義菜單按鈕 PopupMenu,然後重寫菜單監聽事件

3.最後給需要彈出菜單的控件(如Textview添加屬性android:onClick=“menuClick”)

具體步驟:

1.創建菜單文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/to_detail"
        android:title="細節增強"/>
    <item android:id="@+id/to_fudiao"
        android:title="浮雕效果"/>
    <item android:id="@+id/to_mosic"
        android:title="馬賽克效果"/>
    <item android:id="@+id/to_frost"
        android:title="點狀圖"/>
    <item android:id="@+id/to_spread"
        android:title="毛玻璃"/>
</menu>

2.給activity添加菜單,重寫菜單監聽事件

創建彈出菜單變量

  private PopupMenu popupMenu;//定義菜單按鈕

重寫菜單監聽事件

    //重寫菜單監聽事件
    public void menuClick(View view){
        popupMenu = new PopupMenu(this,view);
        getMenuInflater().inflate(R.menu.main,popupMenu.getMenu());
        popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch (item.getItemId()){
                    case R.id.to_detail:
                        flag.setText("細節增強");
                        break;
                    case R.id.to_fudiao:
                        flag.setText("浮雕效果");
                        break;
                    case R.id.to_mosic:
                        flag.setText("馬賽克");
                        break;
                    case R.id.to_frost:
                        flag.setText("點狀圖");
                        break;
                    case R.id.to_spread:
                        flag.setText("毛玻璃");
                        break;
                }
                return true;
            }
        });
        popupMenu.show();
    }

3. 給控件添加菜單響應屬性

 總結

到此這篇關於Android如何給Textview添加菜單項詳解的文章就介紹到這瞭,更多相關Android Textview添加菜單項內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: