Option Menu && Context Menu的使用

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/contextTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="20dp" android:text="长按此文本框,显示文本框上下文菜单" /> <EditText android:id="@+id/contextEditText" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="长按编辑文本框,显示编辑文本框的上下文菜单" /> </LinearLayout>

<group>属性
id
menuCategory:对菜单进行分类,定义菜单的优先级,有效值为container、system、secondary和alternative
orderInCategory:一个分类排序整数
checkableBehavior:选择行为,单选,多选还是其他。有效值为none,all和single。
visible
enabled
<item>属性
id
menuCategory:菜单分类
orderInCategory:分类排序
title:菜单标题
titleCondensed:浓缩标题,适合标题太长的时候使用
icon:菜单图标
alphabeticShortcut:字符快捷键
numericShortcut:数字快捷键
checkable:是否可选
checked:是否已经被选
visible
enabled

option_menu.xml

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/item1" android:title="menu 1"> <menu> <group android:id="@+id/group1"> <item android:id="@+id/item7" android:title="menu 1-1"></item> <item android:id="@+id/item8" android:title="menu 1-2"></item> <item android:id="@+id/item9" android:title="menu 1-3"></item> </group> </menu> </item> <item android:id="@+id/item2" android:title="menu 2"> <menu> <group android:id="@+id/group2"> <item android:id="@+id/item10" android:title="menu 2-1"></item> <item android:id="@+id/item11" android:title="menu 2-2"></item> <item android:id="@+id/item12" android:title="menu 2-3"></item> </group> </menu> </item> <item android:id="@+id/item3" android:title="menu 3"></item> <item android:id="@+id/item4" android:title="menu 4"></item> <item android:id="@+id/item5" android:title="about"></item> <item android:id="@+id/item6" android:title="exit"></item> </menu>


MenuExampleActivity.java

package com.zeph.android.menu.example; import android.app.Activity; import android.os.Bundle; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MenuExampleActivity extends Activity { private MenuInflater mi; private EditText mEditText; private TextView mTextView; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEditText = (EditText) findViewById(R.id.contextEditText); mTextView = (TextView) findViewById(R.id.contextTextView); registerForContextMenu(mEditText); registerForContextMenu(mTextView); } @Override public boolean onCreateOptionsMenu(Menu menu) { mi = getMenuInflater(); mi.inflate(R.menu.option_menu, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch (id) { case R.id.item5: Toast.makeText(getApplicationContext(), "BenZeph", Toast.LENGTH_SHORT).show(); break; case R.id.item6: finish(); default: break; } return super.onOptionsItemSelected(item); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { if (v.equals(mTextView)) { menu.setHeaderTitle("TextView Menu"); menu.add("TextView Menu 1"); menu.add("TextView Menu 2"); menu.add("TextView Menu 3"); menu.add("TextView Menu 4"); } else if (v.equals(mEditText)) { menu.setHeaderTitle("EditText Menu"); } } }



相关文章:

  • 2021-08-15
  • 2021-08-09
  • 2021-08-17
  • 2021-09-15
  • 2021-12-07
  • 2022-12-23
  • 2022-12-23
  • 2021-10-23
猜你喜欢
  • 2021-06-11
  • 2021-12-28
  • 2022-12-23
  • 2021-12-27
  • 2022-01-20
  • 2021-12-15
  • 2021-06-25
相关资源
相似解决方案