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

 更新时间:2022年01月20日 11:50:06   作者:西里小诸葛  
TextView是android里面用的最多的控件,TextView类似一般UI中的Label,TextBlock等控件,只是为了单纯的显示一行或多行文本,下面这篇文章主要给大家介绍了关于Android如何给Textview添加菜单项的相关资料,需要的朋友可以参考下

背景描述:

界面上有一个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添加菜单项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • ffmpeg实现去水印以及切分视频demo

    ffmpeg实现去水印以及切分视频demo

    这篇文章主要为大家介绍了ffmpeg实现去水印以及切分视频demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Android使用OkHttp发送post请求

    Android使用OkHttp发送post请求

    这篇文章主要为大家详细介绍了Android使用OkHttp发送post请求,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android自定义View实现音频播放圆形进度条

    Android自定义View实现音频播放圆形进度条

    这篇文章主要为大家详细介绍了Android自定义View实现音频播放圆形进度条,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • RecylerView实现流布局StaggeredGridLayoutManager使用详解

    RecylerView实现流布局StaggeredGridLayoutManager使用详解

    这篇文章主要为大家详细介绍了RecylerView实现流布局StaggeredGridLayoutManager使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • Android开发VR实战之播放360度全景视频

    Android开发VR实战之播放360度全景视频

    这篇文章主要为大家详细介绍了Android开发VR实战之播放360度全景视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Android开发笔记之探秘WebView

    Android开发笔记之探秘WebView

    浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,windows的有webbrowser,android和ios都有webview。只是其引擎不同,相对于微软的webbrowser,android及ios的webview的引擎都是webkit,对Html5提供支持。本篇主要介绍android的webview。
    2014-08-08
  • Android实现视图轮播效果

    Android实现视图轮播效果

    这篇文章主要为大家详细介绍了Android实现视图轮播效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Android中使用OkHttp包处理HTTP的get和post请求的方法

    Android中使用OkHttp包处理HTTP的get和post请求的方法

    OkHttp包为安卓开发中的HTTP协议网络编程带来了很大的便利,这里我们就来看一下最基本的、Android中使用OkHttp包处理HTTP的get和post请求的方法:
    2016-07-07
  • Android蓝牙服务启动流程分析探索

    Android蓝牙服务启动流程分析探索

    这篇文章主要介绍了Android蓝牙服务启动流程,了解内部原理是为了帮助我们做扩展,同时也是验证了一个人的学习能力,如果你想让自己的职业道路更上一层楼,这些底层的东西你是必须要会的
    2023-01-01
  • Android中使用TextView实现文字跑马灯效果

    Android中使用TextView实现文字跑马灯效果

    本文主要介绍了Android中使用TextView实现文字走马灯效果的方法解析。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04

最新评论