Android menu菜单的深入了解。。。
今天补充刚开始的菜单控件,这是基于:
https://www.cnblogs.com/aolong/p/12868015.html
里面的菜单写的。
今天学的后面部分是结合昨天的Fragment一起的。
自己写个布菜单布局

看视图,showAsAction=“always”的作用就是在标题栏那全部展现出来,如果不写就是在右上角的三点的那个图标里

就这样:

现在在menu里搞:

这边就是在menu里的一个菜单列表。
菜单是绑定活动的,所以要在活动里面重写onCreateOptionsMenu
就是开始菜单的控制和操作了:
刚开始就是给视图填充,然后把我们自己写的mymenu视图填充到menu组件中去,
MenuItem就是它的菜单组件,就是点菜单按钮出来的列表,
其他由菜单组件点出来的方法,他们的作用应该很显而易见,Icon是图标,就是我们可以给列表他们搞一下图标绑定。

上面最后这个返回值是有讲究的,上面这个话如果返回true就是相当于告诉上面已经用过了,返回false就是返回没用过,后面的方法还可以用这些菜单。
然后再重写一个方法为了监听那些菜单里的列表的;

这个都是基本套路。
介绍下:活动里OnCreate里的东西:

这个getSupportActionBar的作用就是连接上标题栏,给标题栏改标题。
setDisplayHomeAsUpEnable的作用就是给他配备一个返回按钮
那个 <- 是系统自带的home按钮,我们写的连接它的时候不是R.id.home
而是android.R.id.home
这个是要注意的。

然后结合Fragment 的优点就是可以在fragment里写菜单,像昨天那样模仿扣扣(消息,联系人,动态),就可以先把上面的标题栏写好,跳的时候菜单也可以一起跳动。
写两个继承Fragment的类:

写法差不多,就贴一个,
然后就重新创建一个活动,把这两个类new出来。

然后效果就是让菜单绑定了当前的Fragment。
写完了,继续周末的嗨皮,今天居然补课,还好没睡过头,以后得仔细看文件和相关的消息,吃一堑长一智的话就有点后悔都来不及的意思了。
Android menu菜单的深入了解。。。的更多相关文章
- android menu菜单自动生成
Android提供了一些简单的方法来为应用添加Menu菜单. 提供了三种类型应用菜单: 一.Options Menu:通过Menu按钮调用菜单 1.在/res/目录下新建menu文件夹,用于存储Men ...
- Android Menu菜单使用
如上图右上角,菜单选项的编辑,第一种代码实现方式如下: package com.example.menu; import android.os.Bundle; import android.app.A ...
- 从零開始学android<Menu菜单组件.三十.>
在Android系统之中.菜单一共同拥有三类:选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 今天我们就用几个样例来分别介绍下菜单的使用 acti ...
- Android动态修改ToolBar的Menu菜单
Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了. 开始上货 Menu Me ...
- 【Android】详解Android的menu菜单
在软件应用过程中,菜单的存在是必不可少的,我这次讲一下,我对android菜单的一个基础做法吧 Android的菜单分为三种类型:选项菜单(Option Menu).上下文菜单(Context Men ...
- Android添加Menu菜单
在安卓中添加Menu菜单十分简单. 步骤: 1.在menu文件夹中的main.xml文件中添加要添加的项目. <menu xmlns:android="http://schemas.a ...
- android开发学习——关于activity 和 fragment在toolbar上设置menu菜单
在做一个项目,用的是Android Studio 系统的抽屉源码,但是随着页面的跳转,toolbar的title需要改变,toolbar上的menu菜单也需要改变,在网上找了好久,也尝试了很多,推荐给 ...
- android简洁饼状图组件、圆形Menu菜单、画板画笔应用、答题应用等源码
Android精选源码 android自动监听复制内容源码 Android上简洁轻量级的饼图控件 好看的 Android 圆形 Menu 菜单效果 android画笔.画板功能效果的实现 Androi ...
- Android开发中的menu菜单
复写onCreateOptionsMenu方法,当点击menu菜单时,调用该方法. @Override public boolean onCreateOptionsMenu(Menu menu) { ...
随机推荐
- Flutter 1.17 新 Material motion 规范的预构建动画
老孟导读:在 Flutter 1.17 发布大会上,Flutter 团队还发布了新的 Animations 软件包,该软件包提供了实现新的 Material motion 规范的预构建动画. 软件包 ...
- DVWA学习记录 PartⅨ
XSS(DOM) 1. 题目 XSS,全称Cross Site Scripting,即跨站脚本攻击,某种意义上也是一种注入攻击,是指攻击者在页面中注入恶意的脚本代码,当受害者访问该页面时,恶意代码会在 ...
- Python-02 可视化之tkinter介绍
1 控件介绍 1.1 Label import tkinter as tk # 使用Tkinter前需要先导入 window = tk.Tk() window.title('My Window') w ...
- keyring源码加密解密函数分析
Encrypt the page data contents. Page type can't be FIL_PAGE_ENCRYPTED, FIL_PAGE_COMPRESSED_AND_ENCRY ...
- nodejs之数据库连接
nodejs 对 MySQL.mongodb.redis 数据库的连接方式. MySQL: var mysql = require('mysql') var { MYSQL } = require(' ...
- CCNA - Part7:网络层 - ICMP 应该是你最熟悉的协议了
ICMP 协议 在之前网络层的介绍中,我们知道 IP 提供一种无连接的.尽力而为的服务.这就意味着无法进行流量控制与差错控制.因此在 IP 数据报的传输过程中,出现各种的错误是在所难免的,为了通知源主 ...
- 手把手撸套框架-ORM框架的选择
目录 一,为什么选择SqlSugar? 在.net core ORM框架中,能选择的方案其实有很多,包括以下方案: 1,EF-Core 2,Dapper 3,FreeSql 4,SqlSugar 为什 ...
- [并发编程] -- 内存模型(针对JSR-133内存模型)篇
并发编程模型 1.两个关键问题 1)线程之间如何通信 共享内存程之间共享程序的公共状态,通过写-读内存中的公共状态进行隐式通信 消息传递程之间没有公共状态,线程之间必须通过发送消息来显式进行通信 2) ...
- H5移动端,ios从后台返回到app,页面会白一下
visibilitychange事件可以检查从后台返回事件,然后通过添加div,强制浏览器刷新页面 var divEle = document.createElement("DIV" ...
- laravel 安装语言包
一.composer依赖网站地址:https://packagist.org/ 二.在搜索框输入: laravel-lang 三.点击进入,根据自己的版本进行安装: composer require ...