-------------------------------------main.java------------------------------
package com.example.mm; import android.graphics.Color; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.ContextMenu; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends ActionBarActivity { private TextView txt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); txt = (TextView) findViewById(R.id.txt); // 为文本框注册上下文菜单 registerForContextMenu(txt); } @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater menuInflater = new MenuInflater(this); //装载R.menu.main对应的菜单,并添加到menu中 menuInflater.inflate(R.menu.main,menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { //判断单击的是哪个菜单项,并针对性的作出响应。 switch (item.getItemId()) { case R.id.font_10: txt.setTextSize(10 * 2); break; case R.id.font_12: txt.setTextSize(12 * 2); break; case R.id.font_14: txt.setTextSize(14 * 2); break; case R.id.font_16: txt.setTextSize(16 * 2); break; case R.id.red_font: txt.setTextColor(Color.RED); break; case R.id.green_font: txt.setTextColor(Color.GREEN); break; case R.id.blue_font: txt.setTextColor(Color.BLUE); break; case R.id.plain_item: Toast toast = Toast.makeText(MainActivity.this ,"您单击了普通菜单项",Toast.LENGTH_SHORT); toast.show(); break; } return true; } // 每次创建上下文菜单(ContextMenu)时都会触发该方法 @Override public void onCreateContextMenu(ContextMenu menu,View source, ContextMenu.ContextMenuInfo menuInfo) { MenuInflater menuInflater = new MenuInflater(this); //装载R.menu.context_menu对应的菜单,并添加到menu中 menuInflater.inflate(R.menu.context_menu,menu); menu.setHeaderTitle("请选择背景颜色"); menu.setHeaderIcon(R.drawable.ic_launcher); } // ContextItem菜单项被单击时触发该方法。 @Override public boolean onContextItemSelected(MenuItem mi) { //勾选该菜单项 mi.setCheckable(true); switch (mi.getItemId()) { case R.id.red: mi.setChecked(true); txt.setBackgroundColor(Color.RED); break; case R.id.green: mi.setChecked(true); txt.setBackgroundColor(Color.GREEN); break; case R.id.blue: mi.setChecked(true); txt.setBackgroundColor(Color.BLUE); break; } return true; } }
。。。。。。。。。。。。。。。。。。main.xml。。。。。。。。。。。。。。。。。。。。
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="15pt" android:text="可通过上下文菜单修改背景色" /> </LinearLayout>
。。。。。。。。。。。。。。。。。/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="com.example.mm.MainActivity" > <!-- 第一个菜单项 --> <item android:title="字体大小" android:icon="@drawable/ic_launcher" > <!-- 子菜单 --> <menu> <!-- 定义一组单选菜单项 --> <group android:checkableBehavior="single"> <item android:id="@+id/font_10" android:title="10号字体" /> <item android:id="@+id/font_12" android:title="12号字体" /> <item android:id="@+id/font_14" android:title="14号字体" /> <item android:id="@+id/font_16" android:title="16号字体" /> </group> </menu> </item> <!-- 第二个菜单项 --> <!-- 一个普通菜单项 --> <item android:id="@+id/plain_item" android:title="普通菜单项" /> <!-- 第三个菜单项 --> <item android:title="字体颜色" > <!-- 子菜单 --> <menu> <!-- 定义一个普通的菜单项 --> <group> <!-- 定义3个菜单项 --> <item android:id="@+id/red_font" android:title="红色" /> <item android:id="@+id/blue_font" android:title="蓝色" /> <item android:id="@+id/green_font" android:title="绿色" /> </group> </menu> </item> </menu>
。。。。。。。。。。。。。。。。/menu/context_menu.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="com.example.mm.MainActivity" > <!-- 定义一个单选菜单项目 --> <group android:checkableBehavior="single" > <item android:id="@+id/red" android:title="红色" android:alphabeticShortcut="r" /> <item android:id="@+id/green" android:title="绿色" android:alphabeticShortcut="g" /> <item android:id="@+id/blue" android:title="蓝色" android:alphabeticShortcut="b" /> </group> </menu> (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|