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="57uG6IqC5aKe5by6"/>
<item android:id="@+id/to_fudiao"
android:title="5rWu6ZuV5pWI5p6c"/>
<item android:id="@+id/to_mosic"
android:title="6ams6LWb5YWL5pWI5p6c"/>
<item android:id="@+id/to_frost"
android:title="54K554q25Zu+"/>
<item android:id="@+id/to_spread"
android:title="5q+b546755KD"/>
</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添加菜单项内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android如何给Textview添加菜单项详解(Java)


- 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
- Android实现监听音量的变化 2023-03-30
- Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
- 详解flutter engine 那些没被释放的东西 2022-12-04
- Android实现轮询的三种方式 2023-02-17
- SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
- iOS 对当前webView进行截屏的方法 2023-03-01
- Android studio实现动态背景页面 2023-05-23
- 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
- Flutter实现底部和顶部导航栏 2022-08-31