本文主要是介绍android简单实例--------普通菜单optionMenu,上下文菜单ContextMenu,弹出式菜单的使用PopuMenu(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
放一些android中三种菜单的使用,包括最常见的菜单栏,还有上下文菜单ContextMenu,以及弹出式菜单PopupMenu的简单应用与对应方法参数详解。
-------------------------------------------------------
上下文菜单效果图:
代码如下:
@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {super.onCreateContextMenu(menu, v, menuInfo);getMenuInflater().inflate(R.menu.demo4,menu);}
重写这个方法,加载直接写的menu文件,这里用的是上一次普通菜单栏写好的。。
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_demo5);textView = (TextView) findViewById(R.id.text_view);registerForContextMenu(textView);}
然后再onCreate方法里为实现了这个上下文菜单的view注册registerForContextMenu()。
这样就可以实现上下文菜单的功能了,长按你所注册的view,这样子上下文菜单就会弹出来了。
接下来看一下如何处理上下文菜单事件,在activity中重写如下方法:
@Overridepublic boolean onContextItemSelected(MenuItem item) {String message = null ;switch (item.getItemId()) {case R.id.item_china:message = "中国";break;case R.id.item_japan:message = "日本";break;case R.id.item_america:message = "美国";break;case R.id.item_action_bar:message = "action bar";break;}Toast.makeText(this, message+"被点击了", Toast.LENGTH_LONG).show();return super.onContextItemSelected(item);}
效果图:
可以看到点击事件被响应了,而且弹出了二级菜单,二级菜单如何实现呢?和普通菜单的二级菜单一样,在XML文件中定义就行了。
<itemandroid:id="@+id/item_china"android:orderInCategory="100"android:showAsAction="never"android:title="中国"><menu><itemandroid:id="@+id/item_beijing"android:orderInCategory="200"android:showAsAction="never"android:title="北京"/><itemandroid:id="@+id/item_shanghai"android:orderInCategory="200"android:showAsAction="never"android:title="上海"/></menu></item>
-------------------------------------------------------
原创,我在这里说明一下,这里的例子都是非常简单的例子,更适合初学者,只有先学会用,才能研究更深层次的东西,初学者千万不要陷入诸如每个参数到底是什么意思,这里不这样,如果那样会怎么样,这是无穷无尽的问题,非常影响入门,只有用熟悉之后,才更容易的去纠结这些东西,所以我在这里不写这些东西了。只适合初学者看看的例子。。。这篇关于android简单实例--------普通菜单optionMenu,上下文菜单ContextMenu,弹出式菜单的使用PopuMenu(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!