上下文ContextMenu
来源:互联网 发布:淘宝详情页分辨率 编辑:程序博客网 时间:2024/05/23 11:50
ContextMenu 上下文菜单 因为需要操作者长按选项,该功能有可能不被发现,所以应用开发应该避免使用该功能
关键字:
registerForContextMenu 注册上下文
MenuInflater menu 独有的解析器
ListView ContextMenu 列表实现
public class Context_Activity extends AppCompatActivity {
Toolbar mToolbar;
View view;
ListView mlistview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_context_layout);
mlistview = (ListView) findViewById(R.id.menu_context_contextbar);
mToolbar = (Toolbar) findViewById(R.id.menu_context_toolbar);
view = findViewById(R.id.menu_context_relative);// TODO: 2016/6/6 得到view的对向 在SnackBar里面使用
mToolbar.inflateMenu(R.menu.my_option_menu);//todo 解析布局文档
String[] strings = {"java","android","ios"};
ArrayAdapter arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,strings);
mlistview.setAdapter(arrayAdapter);
registerForContextMenu(mlistview);//todo 注册上下文,实现与mlistview的关联
// TODO 监听选项
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.my_option_add:
// Toast.makeText(Context_Activity.this, "添加成功", Toast.LENGTH_SHORT).show();
Snackbar.make(view,"添加成功",Snackbar.LENGTH_SHORT).show();
break;
case R.id.my_option_delete:
Toast.makeText(Context_Activity.this, "删除成功", Toast.LENGTH_SHORT).show();
break;
case R.id.my_option_edit:
Toast.makeText(Context_Activity.this, "修改成功", Toast.LENGTH_SHORT).show();
break;
case R.id.my_option_check:
Toast.makeText(Context_Activity.this, "查找到", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
// TODO 监听导航选项
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(Context_Activity.this, "返回", Toast.LENGTH_SHORT).show();
finish();
}
});
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
MenuInflater menuInflater = getMenuInflater(); //todo 得到ContextMenu的独有实例
menuInflater.inflate(R.menu.my_option_menu,menu); //todo menu 资源文件的解析
super.onCreateContextMenu(menu, v, menuInfo);
}
}
ContextMenu.xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_context_relative"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/menu_context_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/green"
app:title="设置"
app:titleTextColor="@color/blue"
app:logo="@drawable/dog1"
app:subtitle="java"
app:subtitleTextColor="@color/blue"
app:navigationIcon="@drawable/ic_action_back"
/>
<ListView
android:id="@+id/menu_context_contextbar"
android:layout_below="@id/menu_context_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
关键字:
registerForContextMenu 注册上下文
MenuInflater menu 独有的解析器
ListView ContextMenu 列表实现
public class Context_Activity extends AppCompatActivity {
Toolbar mToolbar;
View view;
ListView mlistview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_context_layout);
mlistview = (ListView) findViewById(R.id.menu_context_contextbar);
mToolbar = (Toolbar) findViewById(R.id.menu_context_toolbar);
view = findViewById(R.id.menu_context_relative);// TODO: 2016/6/6 得到view的对向 在SnackBar里面使用
mToolbar.inflateMenu(R.menu.my_option_menu);//todo 解析布局文档
String[] strings = {"java","android","ios"};
ArrayAdapter arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,strings);
mlistview.setAdapter(arrayAdapter);
registerForContextMenu(mlistview);//todo 注册上下文,实现与mlistview的关联
// TODO 监听选项
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.my_option_add:
// Toast.makeText(Context_Activity.this, "添加成功", Toast.LENGTH_SHORT).show();
Snackbar.make(view,"添加成功",Snackbar.LENGTH_SHORT).show();
break;
case R.id.my_option_delete:
Toast.makeText(Context_Activity.this, "删除成功", Toast.LENGTH_SHORT).show();
break;
case R.id.my_option_edit:
Toast.makeText(Context_Activity.this, "修改成功", Toast.LENGTH_SHORT).show();
break;
case R.id.my_option_check:
Toast.makeText(Context_Activity.this, "查找到", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
// TODO 监听导航选项
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(Context_Activity.this, "返回", Toast.LENGTH_SHORT).show();
finish();
}
});
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
MenuInflater menuInflater = getMenuInflater(); //todo 得到ContextMenu的独有实例
menuInflater.inflate(R.menu.my_option_menu,menu); //todo menu 资源文件的解析
super.onCreateContextMenu(menu, v, menuInfo);
}
}
ContextMenu.xml布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/menu_context_relative"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/menu_context_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/green"
app:title="设置"
app:titleTextColor="@color/blue"
app:logo="@drawable/dog1"
app:subtitle="java"
app:subtitleTextColor="@color/blue"
app:navigationIcon="@drawable/ic_action_back"
/>
<ListView
android:id="@+id/menu_context_contextbar"
android:layout_below="@id/menu_context_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>
0 0
- 上下文ContextMenu
- 上下文菜单(ContextMenu)
- ContextMenu上下文菜单
- 使用上下文菜单ContextMenu
- 上下文菜单ContextMenu
- Android--ContextMenu上下文菜单
- 【Android】上下文菜单contextMenu
- ContextMenu(上下文菜单)
- ContextMenu上下文菜单
- ContextMenu上下文菜单
- ContextMenu上下文菜单
- Contextmenu上下文菜单
- Android上下文菜单 ContextMenu
- Android-ContextMenu上下文菜单
- 使用上下文菜单ContextMenu
- ContextMenu---上下文菜单
- ContextMenu上下文菜单
- 上下文菜单ContextMenu
- 编程中常用的小技巧
- 第14周项目2--两个成员的类模板(2)
- Implement Stack using Queues
- iOS监听模式系列之推送消息通知
- Swift基础二
- 上下文ContextMenu
- Spark定制班第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- windows安装theano
- 手环开源项目的想法
- 序列化和反序列化的概念《转》
- sqlite操作总结(四)
- Ubuntu server 搭建Git server
- 机器学习中常见的最优化算法
- <Handler>之简单的消息传递机制