android选项菜单示例

Android选项菜单是android的主要菜单。它们可用于设置,搜索,删除项目等。
在这里,我们将看到两个选项菜单示例。首先是简单的选项菜单,其次是带有图像的选项菜单。
在这里,我们通过调用MenuInflater类的inflate()方法来膨胀菜单。要对菜单项执行事件处理,你需要重写Activity类的onOptionsItemSelected()方法。
Android选项菜单示例
让我们看看如何在android中创建菜单。让我们看一下包含三个菜单项的简单选项菜单示例。
activity_main.xml该文件中只有一个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.srcmini.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.design.widget.AppBarLayout>< include layout="@layout/content_main" />< /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.srcmini.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" />< /android.support.constraint.ConstraintLayout>

menu_main.xml它包含三个项目,如下所示。它是在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.srcmini.com.optionmenu.MainActivity">< itemandroid:id="@+id/item1" android:title="Item 1"/> < itemandroid:id="@+id/item2" android:title="Item 2"/> < itemandroid:id="@+id/item3" android:title="Item 3" app:showAsAction="withText"/> < /menu>

活动类此类显示menu.xml文件的内容,并在单击菜单项时执行事件处理。
package example.srcmini.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; this adds items to the action bar if it is present. 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); } } }

输出:输出时无需单击菜单按钮。
android选项菜单示例

文章图片
单击菜单按钮后的输出。
android选项菜单示例

文章图片
单击第二个菜单项后的输出。
android选项菜单示例

文章图片
带图标的选项菜单
【android选项菜单示例】你需要在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.srcmini.com.optionmenu.MainActivity">< itemandroid:id="@+id/item1" android:title="Item 1" app:showAsAction="always" android:icon="@android:drawable/btn_star"/> < itemandroid:id="@+id/item2" android:title="Item 2" app:showAsAction="ifRoom" android:icon="@android:drawable/btn_plus"/> < itemandroid:id="@+id/item3" android:title="Item 3" app:showAsAction="withText" android:icon="@android:drawable/btn_plus"/> < /menu>

android选项菜单示例

文章图片
android选项菜单示例

文章图片

    推荐阅读