【Android 上下文操作模式】努力尽今夕,少年犹可夸。这篇文章主要讲述Android 上下文操作模式相关的知识,希望能为你提供帮助。
上下文操作模式和普通上下文菜单的区别在于操作模式的显示会覆盖视图顶层操作栏,而不是悬浮式的
通过在按钮上注册长按点击事件触发
上下文菜单 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:title="
登录"
android:id="
@+id/login"
/>
<
item android:title="
注册"
android:id="
@+id/register"
/>
<
/menu>
java部分
public class MainActivity extends AppCompatActivity {@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 按钮长按触发启动上下文操作模式
findViewById(R.id.btn).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
startActionMode(MainActivity.this.ac);
return false;
}
});
}// 实例化操作模式的回调类
ActionMode.Callback ac = new ActionMode.Callback() {// 初始化时触发
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
getMenuInflater().inflate(R.menu.first, menu);
return true;
}@Override
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return false;
}// 菜单项点击监听器
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.login:
Toast.makeText(MainActivity.this, "
你刚刚点了登录"
, Toast.LENGTH_LONG).show();
break;
case R.id.register:
Toast.makeText(MainActivity.this, "
你刚刚点了注册"
, Toast.LENGTH_LONG).show();
break;
}
return true;
}@Override
public void onDestroyActionMode(ActionMode mode) {
// 结束时触发
}
};
}
推荐阅读
- Android 上下文菜单 悬浮式
- 添加子节点appendChild()
- Could not open ServletContext resource [/WEB-INF/applicationContext.xml] 解决办法
- android SmartImageView的用法
- 淘宝APP用户行为数据分析之二 —— 数据清洗
- 安卓蓝牙动态权限
- AppCan 打包无限次下载解决方案
- 关于Appium执行用例过程中问题处理办法
- 启动APP遇到“UiAutomator exited unexpectedly with code 0, signal null”解决