Android studio如何实现菜单效果
发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,今天就跟大家聊聊有关Android studio如何实现菜单效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、onCreateOption
千家信息网最后更新 2024年11月19日Android studio如何实现菜单效果
今天就跟大家聊聊有关Android studio如何实现菜单效果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
一、onCreateOptionsMenu()
首先在res目录下新建一个menu文件夹,右击res目录→New→ Directory,输入文件夹名字menu(随意),点击OK,接着在menu文件夹下面新建一个main的菜单文件。点击menu文件夹new→menu resource file。
activity.xml文件代码不需要改动。
MainActivity.java 文件代码:
package com.example.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //用onCreateOptionsMenu()显示菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu,menu);//getMenuInflater()方法得到MenuInflater //调用inflate接收两个参数 //R.menu.main指调用menu文件下的main资源文件 return true;//返回true,允许创建的菜单显示,返回false不显示 } //定义菜单响应事件 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ //item.getItemId()判断我们选择那个菜单项 case R.id.first: Toast.makeText(this, "FIRST", Toast.LENGTH_SHORT).show(); break; case R.id.second: Toast.makeText(this, "SECOND", Toast.LENGTH_SHORT).show(); break; default: } return true; }}
关键代码:菜单 main.xml文件代码:
右上角三个点就是菜单,点击打开如图:
一的进阶(带子菜单的菜单)
menu.xml:
.java:
package com.example.myapplication;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuInflater;import android.view.MenuItem;import android.widget.Toast;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //用onCreateOptionsMenu()显示菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater=new MenuInflater(this);//实例化一个MenuInflater对象 inflater.inflate(R.menu.menu,menu);//解析菜单文件 return true; } //定义菜单响应事件 @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()==R.id.f1) Toast.makeText(this, "更换背景", Toast.LENGTH_SHORT).show(); else if(item.getItemId()==R.id.f3) Toast.makeText(this, "恢复出厂", Toast.LENGTH_SHORT).show(); else { if(item.getGroupId()==R.id.group1){ //判断是否选中了第一层第二项 //与menu.xml文件对应 android:checkableBehavior="all" if(item.isChecked()) //菜单被选中 item.setChecked(false);//设置菜单项不被选中 else item.setChecked(true);//设置菜单项被选中 } } return true; }}
效果:
二、onCreateContextMenu()(上下文菜单)
main.xml:
menu.xml:
.java:
package com.example.myapplication;import android.graphics.Color;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.ContextMenu;import android.view.MenuInflater;import android.view.MenuItem;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv=(TextView)findViewById(R.id.text1); registerForContextMenu(tv);//为文本注册上下文菜单 } //用onCreateContextMenu()显示菜单 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { MenuInflater inflater=new MenuInflater(this);//实例化MenuInflater一个对象 inflater.inflate(R.menu.menu,menu);//解析菜单文件 menu.setHeaderTitle("选择颜色:");//为菜单头设置标题 } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()){ case R.id.red: tv.setTextColor(Color.rgb(255,0,0)); break; case R.id.green: tv.setTextColor(Color.rgb(0,255,0)); break; default: tv.setTextColor(Color.rgb(0,0,255)); } return true; }}
长按打开菜单四个字
随便选择颜色打开菜单四个字就会变为相应的颜色
看完上述内容,你们对Android studio如何实现菜单效果有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
菜单
文件
代码
文件夹
效果
内容
颜色
选择
上下
上下文
事件
实例
对象
目录
三个
两个
关键
参数
名字
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
保险公司两会期间网络安全排查
哪个公司的数据库培训
软件开发的微服务
服务器 海外 vps
无线网络安全技术发展
enum对应的的数据库类型
wps excel的数据库
数据库构建方案
广州市乐资互联网科技有限公司
服务器管理员admin
国企资产平台软件开发
携程软件开发待遇
增强网络安全 我们怎么做
武汉网络安全基地在哪里
教育软件开发论文
电信宽带服务器机柜
一直弹窗无法验证服务器身份
房地产咨询数据库
数据库技术与应用的相关视频
做网络安全的大厂
上海国拍网的服务器
有哪些无限通讯网络技术
人间地狱怎么看服务器是哪个服
教师服务器期
vs怎么加入数据库
浙江通信网络技术有哪些
福建省事业单位网络安全招聘
网络安全审查办法执行
数据库建模实例
服务器组raid5选多少kb