Android Option Menus 是android的主要菜单。它们可用于设置(settings),搜索(search),删除(delete)项目等。
在这里,无涯教程将看到两个选项菜单示例。首先是简单的选项菜单,其次是带有图像的选项菜单。
无涯教程通过调用MenuInflater类的inflate()方法来使菜单膨胀。要对菜单项执行事件处理,您需要重写Activity类的onOptionsItemSelected()方法。
让无涯教程看看如何在android中创建菜单。让无涯教程看一下包含三个菜单项的简单选项菜单示例。
链接:https://www.learnfk.comhttps://www.learnfk.com/android/android-option-menu-example.html
来源:LearnFk无涯教程网
无涯教程在此文件中只有一个TextView。
<!--?xml version="1.0" encoding="utf-8"?--> <android.support.design.widget.coordinatorlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.learnfk.com.optionmenu.MainActivity"> <android.support.design.widget.appbarlayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popuptheme="@style/AppTheme.PopupOverlay"></android.support.v7.widget.toolbar> </android.support.design.widget.appbarlayout> <include layout="@layout/content_main"></include> </android.support.design.widget.coordinatorlayout>
<!--?xml version="1.0" encoding="utf-8"?--> <android.support.constraint.constraintlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="example.learnfk.com.optionmenu.MainActivity" tools:showin="@layout/activity_main"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintbottom_tobottomof="parent" app:layout_constraintleft_toleftof="parent" app:layout_constraintright_torightof="parent" app:layout_constrainttop_totopof="parent"></textview> </android.support.constraint.constraintlayout>
它包含三个项目,如下所示。它是在res/menu目录中自动创建的。
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="example.learnfk.com.optionmenu.MainActivity"> <item android:id="@+id/item1" android:title="Item 1"></item> <item android:id="@+id/item2" android:title="Item 2"></item> <item android:id="@+id/item3" android:title="Item 3" app:showasaction="withText"></item> </menu>
此类显示Menu.xml文件的内容,并在单击菜单项时执行事件处理。
package example.learnfk.com.optionmenu; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; 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); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); } @Override public boolean onCreateOptionsMenu(Menu menu) { //Inflate the menu; 如果存在,这会将项目添加到操作栏。 getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id){ case R.id.item1: Toast.makeText(getApplicationContext(),"Item 1 Selected",Toast.LENGTH_LONG).show(); return true; case R.id.item2: Toast.makeText(getApplicationContext(),"Item 2 Selected",Toast.LENGTH_LONG).show(); return true; case R.id.item3: Toast.makeText(getApplicationContext(),"Item 3 Selected",Toast.LENGTH_LONG).show(); return true; default: return super.onOptionsItemSelected(item); } } }
输出无需单击菜单按钮。
单击菜单按钮后输出。
单击第二个菜单项后输出。
您需要在res/drawable目录中具有图标图像。 android:icon元素用于在选项菜单上显示图标。您可以在strings.xml文件中写入字符串信息。但是无涯教程已经将它写在menu_main.xml文件中。
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="example.learnfk.com.optionmenu.MainActivity"> <item android:id="@+id/item1" android:title="Item 1" app:showasaction="always" android:icon="@android:drawable/btn_star"></item> <item android:id="@+id/item2" android:title="Item 2" app:showasaction="ifRoom" android:icon="@android:drawable/btn_plus"></item> <item android:id="@+id/item3" android:title="Item 3" app:showasaction="withText" android:icon="@android:drawable/btn_plus"></item> </menu>
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)
Spring Cloud 微服务项目实战 -〔姚秋辰(姚半仙)〕