AndroidStudio之option menu菜单的使用,android游戏开发

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

<LinearLayout

android:layout_height=“match_parent”

android:layout_width=“match_parent”

android:orientation=“vertical”

xmlns:android=“http://schemas.android.com/apk/res/android”>

<TextView

android:layout_height=“wrap_content”

android:layout_width=“match_parent”

android:text="@string/text"

android:textSize=“15pt”

android:id="@+id/txt">

之后我们建立菜单。Android提供了两种建立菜单的方式,一种就是使用JAVA代码,而另一种是使用XML资源文件进行定义。在这里我们使用XML文件来定义菜单,因为这样可以提供更好的解耦,也不会使程序的代码过于臃肿,可扩展性和可维护性过低。

一般情况下Android Studio会自动在res目录下创建menu目录,而且在下面提供menu_main.xml菜单资源文件,如果有的话就直接可以编写,反正我的是menu文件夹都没有,这时候需要我们自己新建一个menu文件。

我们在res目录上右键新建,选择资源文件,再在资源类型中选择menu。

AndroidStudio之option menu菜单的使用,android游戏开发

菜单资源的根目录通常是

<menu……/>

menu下面主要几种元素:

<item……/>元素

它定义了每一个菜单项

<group……/>元素

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

<menu……/>元素

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

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

AndroidStudio之option menu菜单的使用,android游戏开发

![这里写图片描述](ht

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

tps://img-blog.csdn.net/20180623223611359?)

AndroidStudio之option menu菜单的使用,android游戏开发

菜单一共有三个选项,分别是字体大小,普通菜单选项,字体颜色,字体大小和字颜色下面分别有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;

}

上一篇:【Spark】Spark对数据的读入和写出操作


下一篇:MakeMistake