有时间就随笔记录自己遇到的问题和所学的知识哈。

  这是对本牛崽知识的提升也可以给其他牛牛们来点鸡汤和开胃菜。

菜单Menu的创建

  首先menu是属于布局的嘛,所以嘞,咱们得在res(也就是布局资源)创建一个menu资源文件,然后在menu里头创建main.xml,不用担心找不到xml,如果Android Studio没问题一般都是自动提示你。

创建好了就可以开始用菜单了,菜单大家应该都见过,就比如扣扣界面的右上角的+,就是个菜单。

为啥要出现菜单?你想想,有那么多功能,手机屏幕本来就小,所以我们得把一些不是很核心的界面放到一个角落包起来,要用的时候点开找到就可以跳过去设置了。(纯属本人理解哈,有错纠错别打脸,无错就幸免了)。

开始代码环节

  本牛崽这次的随笔内容就是在上次那个界面的基础上写的,毕竟是个合成的过程,又不是java算法程序。效果就是图中:(后面两张是点击add,remove产生的哦)

闲话不说上结构

  首先MainActivity是不能少的,第一个图片就是它,然后操作菜单也是在MainActivity里。主要牵扯到:

public boolean onCreateOptionsMenu(Menu menu) 
public boolean onOptionsItemSelected(@NonNull MenuItem item) 一个是创建选择按钮,一个是跳转选择,字面意思应该看得出来的。 创建代码就是:
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main,menu);
return true; }
通过 getMenuInflater()方法能够得到 MenuInflater 对象,再调用它的 inflate()方法 就可以给当前活动创建菜单了。inflate()方法接收两个参数,
第一个参数用于指定我们通过哪 一个资源文件来创建菜单,这里当然传入 R.menu.main。第二个参数用于指定我们的菜单项将 添加到哪一个Menu对象当中,
这里直接使用onCreateOptionsMenu()方法中传入的menu参数。 然后给这个方法返回 true,表示允许创建的菜单显示出来,如果返回了 false,创建的菜单将
无法显示。 
书中原话,意思就是用来调用并创建方法我估计是为了给跳转选择提供参数的,因为跳转选择中有switch供选择(本牛崽第一次学,自己的见解,不喜勿喷); 接着贴
onOptionsItemSelected
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.add1:
Toast.makeText(this,"add",Toast.LENGTH_LONG).show();
Intent i=new Intent(MainActivity.this,Main3Activity.class);
Toast.makeText(MainActivity.this,"你已进入add",Toast.LENGTH_LONG).show();
startActivity(i);
break;
case R.id.remove1:
Toast.makeText(this,"remove",Toast.LENGTH_LONG).show();
Intent in=new Intent(MainActivity.this,Main2Activity.class);
Toast.makeText(MainActivity.this,"你已进入remove",Toast.LENGTH_LONG).show();
startActivity(in);
break;
default:break;
}
return true;
}
我呢,创建了其他两个活动,给他们add,remove使用,item.getItemId()就是判断你点击的是哪个按钮,那个add1是我的名字,这个得去main.xml里面拖,
都是xml,main肯定也是布局文件,所以我是直接拖的;

我就直接拖了两个菜单选项进去,然后改名字。add1是id名字,本窗口的名字还是Add和Remove哈!

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="Add"
android:id="@+id/add1"/>
<item android:title="Remove"
android:id="@+id/remove1"/>
</menu>

 补充下,带+就是新建一个id,不带+就是改写。

这就是今天上午学的啦,有时间就随笔下,巩固自己也可能造福他人,让更多的牛崽崽变大牛吧!奥利给。

 

 
 
顺便在这补充下:关于监听器,跳跃网站的方法,一些和我一样水平的牛崽崽可能已经学过了,但是为了巩固自己的知识,本牛崽打算再说一遍:
ImageView iv=findViewById(R.id.iv1);
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse("https://www.luogu.com.cn"));
startActivity(i);
}
}); 技术可能不到家,就创了个图片按钮,点一下就跳转到洛谷去了,嘿嘿。
具体的主要是
Intent.ACTION_VIEW,其他的还有很多,
iv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i=new Intent(Intent.ACTION_DIAL);
i.setData(Uri.parse("tel:1008611"));
startActivity(i);
}
});
各位,打个1008611话费流量直通车压压惊吧!
效果如图:

点一下我的那个皮卡丘,就跳过来了哈



虚拟机嘛,肯定打不通的嘛,所以我就准备连接上自己的手机,来一波操作,欣赏下安卓的魅力啦!


我这边是小米的手机,反正连接手机很简单,先找到MIUI的版本信息,长按就可以开启开发者选项,找到开发者选项(我直接让小爱同学开,哈哈

把USB的调试都打开就好啦,然后插入数据线就会自动更换模拟器(废话,真手机来了还要你模拟器干嘛,果断踢开。。。)

然后本牛崽就开始啦:

不用我出手,自己踢开了。

 

 奥,本牛崽是电信的卡,打移动肯定不行啦,小姐姐好无情:

您好,请您使用移动手机电话拨打,谢谢使用,再见

0:06闪了两下就挂了。

好了,补充 的一些隐式Intent就说完了,我觉得很有趣,希望各位和我一个水平或者比我差那么一点点火候的牛崽崽们好好学哈。

最好是培养兴趣,兴趣是最好的老师,首先想对一个东西感兴趣就得对它好奇,

对人也是一样,如果想让异性对你感兴趣,就创造机会和能力让 她/他 对你产生好奇吧!

Android 菜单的使用的更多相关文章

  1. Android菜单详解(四)——使用上下文菜单ContextMenu

    之前在<Android菜单详解(二)——创建并响应选项菜单>和<Android菜单详解(三)——SubMenu和IconMenu>中详细讲解了选项菜单,子菜单和图标菜单.今天接 ...

  2. Android菜单详解(一)——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  3. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  4. Android菜单(动画菜单、360波纹菜单)

     Android菜单(动画菜单.360波纹菜单) 前言:Android菜单常用集合:FragmentTabHost系统菜单.上移式菜单.360波纹菜单.展开式菜单.详解注释,可直接拿来用! 效果:   ...

  5. Android菜单

    Android菜单概述 菜单是Activity的一个重要组成部分,它为用户操作提供了快捷的途径.Android提供了一个简单的框架来向程序中添加标准菜单 . 一.创建一个菜单资源 你需要在一个XML ...

  6. Android菜单(menu)

    Android  菜单 我们继续来进行学习,今天写一下在软件中用的还算较多的菜单. 1.Menu 菜单,很显然,作用就是点击不同的选项触发不同的方法.现在在安卓使用中推荐使用ActionBar,但这里 ...

  7. Android菜单项内容大全

    一.介绍: 菜单是许多应用中常见的用户界面组件. Android3.0版本以前,Android设备会提供一个专用"菜单"按钮呈现常用的一些用户操作, Android3.0版本以后, ...

  8. Android菜单Menu的创建

    在res目录下的menu文件夹下创建一个main.xml文件,内容如下: <?xml version="1.0" encoding="utf-8"?> ...

  9. Android 菜单(OptionMenu)

    菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 一.概述 ...

  10. Android—菜单

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

随机推荐

  1. AbstractQueuedSynchronizer(AQS)抽丝剥茧深入了解JUC框架原理

    目录 简介 Lock简单实用 主体框架 原理解析 独占锁 AQS数据结构 CLH数据结构 acquire实现步骤 addWaiter acquireQueued shouldParkAfterFail ...

  2. saver 的保存与恢复

    模型保存,先要创建一个Saver对象:saver=tf.train.Saver(), max_to_keep 是用来设置保存模型的个数,默认为5,即保存最近的五个模型,saver=tf.train.S ...

  3. 改造 layui 表格组件实现多重排序

    layui 的表格组件目前只支持单列排序,在实际应用中并不能很好的支撑我们的业务需求.今天一时手痒,决定改造一番以支持多重排序. 实现思路也比较简单,只需要用一个数组来存放所有排序的列,再把这个数组传 ...

  4. elementui 使用Form表单 的 resetForm表单功能出现的问题

    代码因为在保密机上,这里只进行描述并截取elemen文档中的代码作为参考 今天在开发一个很简单需求的时候遇到的问题,在使用elementui的表单功能,将增和改的表单进行了复用,是在表单的父组件 dr ...

  5. python利用selenium(webdriver chrome)模拟登陆获取cookie

    (我是在windows下进行实验的) 准备工作: 1.安装python环境. 2.python安装selenium插件(执行以下命令就行).   pip install selenium 3.Wind ...

  6. C#/VB.NET 在Word中添加条码、二维码

    本文介绍如何通过C# 和VB.NET代码实现在Word文档中添加条码和二维码.代码中将分为在Word正文段落中.页眉页脚中等情况来添加. 使用工具:Free Spire.Office for .NET ...

  7. OSCP Learning Notes - Exploit(9)

    Tool: Metasploit 1. Start the msfconsole tool. msfconsole 2.Search ssh related modules. 3.Use the &q ...

  8. 深入浅出ReentrantReadWriteLock源码解析

    读写锁实现逻辑相对比较复杂,但是却是一个经常使用到的功能,希望将我对ReentrantReadWriteLock的源码的理解记录下来,可以对大家有帮助 前提条件 在理解ReentrantReadWri ...

  9. Codeforces1379-题解

    很久以前,申蛤申请了一个cf号叫 wzxakioi 有一天,戌蛤带着申蛤用这个账号打了一场div3,然后它的rating超过了shzr 之后申蛤又用这个号打了三场div2,于是  CF1379C 题意 ...

  10. grpc 之 word2pdf使用

    ​ 做一个word转pdf的服务,采用grpc,使用libreoffice命令. 1.构建libreoffice镜像 FROM python:3.6 ENV TZ=Asia/Shanghai RUN ...