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添加菜单项内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Android5.x中的阴影效果elevation和translationZ的实现方法
这篇文章主要介绍了 android5.x中的阴影效果elevation和translationZ的相关资料,需要的朋友可以参考下2016-12-12Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发
这篇文章主要介绍了Android实用图文教程之代码混淆、第三方平台加固加密、渠道分发,需要的朋友可以参考下2014-12-12
最新评论