信息发布→ 登录 注册 退出

Android如何给Textview添加菜单项详解(Java)

发布时间:2026-01-11

点击量:
目录
  • 背景描述:
  • 解决办法
  • 具体步骤:
    • 1.创建菜单文件
    • 2.给activity添加菜单,重写菜单监听事件
    • 3. 给控件添加菜单响应属性
  •  总结

    背景描述:

    界面上有一个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. 给控件添加菜单响应属性

     总结

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!