过了个年将近一个月没写代码了,今天写一个关于OptionMenu的基本使用方法。需要注意的是一个Activity中只能有一个optionMenu
首先看看效果:
下面是MainActivity中的代码:
package demo.liuchen.com.menutest;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
/**
* 使用选项菜单的步骤
* 1.在Activity中复写oncreateOptionsMenu,向选项菜单中添加item
* 2.在Activity中复写onOptionMenuSelected方法,实现菜单item的点击事件
*/
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
}
/**
* 重写选项菜单
* @param menu
* @return
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//1.在res中创建menu文件夹(必须创建)
//2.在menu中创建此菜单文件(必须创建)
//3.使用MenuInflater将menu中的菜单文件内容填充到当前Activity中的menu对象上
getMenuInflater().inflate(R.menu.main,menu);
return super.onCreateOptionsMenu(menu);
}
/**
* 拦截选项菜单中的的item点击事件
* item.getItemId()通过此方法判断是点击的是哪一个item的操作
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.action_quit:
finish();
break;
case R.id.select_RED:
textView.setTextColor(Color.RED);
break;
case R.id.select_Green:
textView.setTextColor(Color.GREEN);
break;
case R.id.select_Blue:
textView.setTextColor(Color.BLUE);
break;
case R.id.set_size_30:
textView.setTextSize(30);
break;
case R.id.set_size_25:
textView.setTextSize(25);
break;
case R.id.set_size_20:
textView.setTextSize(20);
break;
}
return super.onOptionsItemSelected(item);
}
}
下面是menu中的main文件的代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_quit"
android:title="退出" />
<item
android:id="@+id/select_Color"
android:title="颜色切换">
<menu>
<group>
<item
android:id="@+id/select_RED"
android:title="红色" />
<item
android:id="@+id/select_Blue"
android:title="蓝色" />
<item
android:id="@+id/select_Green"
android:title="绿色" />
</group>
</menu>
</item>
<item
android:id="@+id/set_size"
android:title="设置字体">
<menu>
<group>
<item
android:id="@+id/set_size_20"
android:title="20"/>
<item
android:id="@+id/set_size_25"
android:title="25"/>
<item
android:id="@+id/set_size_30"
android:title="30"/>
</group>
</menu>
</item>
</menu>
下面是xml文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="demo.liuchen.com.menutest.MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
</RelativeLayout>
好了optionMenu的基本用法就是这样的,如果需要demo的话点击下面的超链接: http://download.csdn.net/my