2024年安卓最新AndroidStudio之option menu菜单的使用(1),2024年最新面试书籍推荐

题外话

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

它可以把多个item合并成一个组

<menu……/>元素

可以创建子菜单,是在具体的item下面

这么看肯定不明白,举个例子,我们要创建如下样式的菜单:

这里写图片描述

这里写图片描述

这里写图片描述

菜单一共有三个选项,分别是字体大小,普通菜单选项,字体颜色,字体大小和字颜色下面分别有10号字16号字20号字和红色黑色。总结就是这个 menu大菜单下面有三个item,第二个就是一个简单的item下面什么都没有了,第一个和第三个下面都有一个group,group下有具体的item选项。

<?xml version="1.0" encoding="utf-8"?>

<item

android:title=“@string/font_size”

<item

android:id=“@+id/font_10”

android:title=“@string/font10”/>

<item

android:id=“@+id/font_16”

android:title=“@string/font16”/>

<item

android:id=“@+id/font_20”

android:title=“@string/font20”/>

<item

android:id=“@+id/plain_item”

android:title=“@string/plain_item”/>

<item

android:title=“@string/font_color”

<item

android:id=“@+id/red_font”

android:title=“@string/red_title” />

<item

android:title=“@string/black_title”

android:id=“@+id/black_font”/>

这样我们就写好了一个菜单,接下来我们需要在MainActivity中使用它,重写onCreateOptionsMenu方法,在这些方法中调用MenuInflater对象的inflate方法加载指定资源对应的菜单文件。

//在JAVA文件中对资源文件进行加载

public boolean onCreateOptionsMenu(Menu menu)//开发选项菜单重写的方法

{

MenuInflater inflater = new MenuInflater(this);//菜单动态加载类

inflater.inflate(R.menu.menu_main,menu);//调用inflate方法解析菜单文件

super.onCreateOptionsMenu(menu);

return true;

}

这时候菜单已经实现了大部分,要是希望程序能相应菜单项的单击事件,我们重写onOptionsItemSelected(MenuItem mi)方法就可以了。

public boolean onOptionsItemSelected(MenuItem mi){

switch (mi.getItemId()){

case R.id.font_10:

txt.setTextSize(20);

break;

case R.id.font_16:

txt.setTextSize(32);

break;

case R.id.font_20:

txt.setTextSize(40);

break;

case R.id.red_font:

txt.setTextColor(Color.RED);

break;

case R.id.black_font:

txt.setTextColor(Color.BLACK);

break;

case R.id.plain_item:

Toast toast =Toast.makeText(MainActivity.this,“这是普通单击项”,Toast.LENGTH_SHORT);

toast.show();

break;

}

最后说一下我的学习路线

其实很简单就下面这张图,含概了Android所有需要学的知识点,一共8大板块:

  1. 架构师筑基必备技能
  2. Android框架体系架构(高级UI+FrameWork源码)
  3. 360°Androidapp全方位性能调优
  4. 设计思想解读开源框架
  5. NDK模块开发
  6. 移动架构师专题项目实战环节
  7. 移动架构师不可不学习微信小程序
  8. 混合开发的flutter

Android学习的资料

我呢,把上面八大板块的分支都系统的做了一份学习系统的资料和视频,大概就下面这些,我就不全部写出来了,不然太长了影响大家的阅读。

330页PDF Android学习核心笔记(内含上面8大板块)

Android学习的系统对应视频

总结

我希望通过我自己的学习方法来帮助大家去提升技术:

  • 1、多看书、看源码和做项目,平时多种总结

  • 2、不能停留在一些基本api的使用上,应该往更深层次的方向去研究,比如activity、view的内部运行机制,比如Android内存优化,比如aidl,比如JNI等,并不仅仅停留在会用,而要通过阅读源码,理解其实现原理

  • 3、同时对架构是有一定要求的,架构是抽象的,但是设计模式是具体的,所以一定要加强下设计模式的学习

  • 4、android的方向也很多,高级UI,移动架构师,数据结构与算法和音视频FFMpeg解码,如果你对其中一项比较感兴趣,就大胆的进阶吧!

希望大家多多点赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

赞,转发,评论加关注,你们的支持就是我继续下去的动力!加油!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值