介绍
ContextMenu 即上下文菜单,是通过长按(1.5s)界面上的某个控件弹出的菜单。
控件必须注册了 ContextMenu 以后,长按才会弹出 ContextMenu ,注册方式为调用registerForContextMneu(View)
方法。
【配置菜单】
参考 OptionMenu,重写 onCreateContextMenu()
方法,在该方法中,第 1 个参数用于创建菜单项,第 2 个参数 View v 表示长按哪个控件弹出的 ContextMenu,第 3 个参数通常不需要使用,仅当为 AdapterView 配置了 ContextMenu 后,可以将第 3 个参数向下转型为 AdapterContextMenuInfo 的对象,然后获取相关信息,如 position 等。
【响应菜单项的点击】
参考 OptionMenu,重写 onContextItemSelected
xml创建ContextMenu
menu 下创建菜单布局 main.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_copy"
android:orderInCategory="100"
android:title="Copy"
app:showAsAction="never" />
</menu>
MenuActivity.java
public class MenuActivity extends AppCompatActivity {
private View tv;
private View img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
tv