PopupMenu的简单用法
2015-06-19 01:21
836 查看
PopupMenu代表弹出式菜单,它会在指定组件上弹出PopupMenu,默认情况下,PopupMenu会显示在该组件的下方或上方。PopupMenu可增加多个菜单项,并可为菜单项增加子菜单。
使用PopupMenu创建菜单的步骤非常简单,只要如下步骤即可。
调用new PopupMenu(Context context,View anchor)创建下拉菜单,anchor代表要激发该弹出菜单的组件。
调用MenuInflater的inflate()方法将菜单资源填充到PopupMenu中。
调用PopupMenu的show()方法显示弹出式菜单。
下面的实例示范了使用PopupMenu的功能和用法。
界面布局文件如下:
该实例的Activity的代入如下:
上面的程序中第一行粗体字代码创建了一个PopupMenu对象,第二行粗体字代码指定将该R.menu.popup_menu菜单资源文件填充到PopupMenu中,这样即可实现当用户单击界面按钮时弹出Popup菜单。
运行上面程序将看到如下效果:
使用PopupMenu创建菜单的步骤非常简单,只要如下步骤即可。
调用new PopupMenu(Context context,View anchor)创建下拉菜单,anchor代表要激发该弹出菜单的组件。
调用MenuInflater的inflate()方法将菜单资源填充到PopupMenu中。
调用PopupMenu的show()方法显示弹出式菜单。
下面的实例示范了使用PopupMenu的功能和用法。
界面布局文件如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:onClick="onPopupButtonClick" android:text="单击我" /> </LinearLayout>
该实例的Activity的代入如下:
package org.crazyit.helloworld; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.PopupMenu; import android.widget.Toast; public class PopupMenuTest extends Activity { PopupMenu popup=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.popup_menu_test); } public void onPopupButtonClick(View button) { //创建PopupMenu对象 popup=new PopupMenu(this,button); //将R.menu.popup_menu菜单资源加载到popup菜单中 getMenuInflater().inflate(R.menu.popup_menu,popup.getMenu()); //为popup菜单的菜单项单击事件绑定事件监听器 popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){ @Override public boolean onMenuItemClick(MenuItem item) { switch(item.getItemId()) { case R.id.exit: //隐藏该对话框 popup.dismiss(); break; default: //使用Toast显示用户单击的菜单项 Toast.makeText(PopupMenuTest.this, "您单击了【"+item.getTitle()+"】菜单项",Toast.LENGTH_SHORT).show(); } // TODO Auto-generated method stub return false; } }); popup.show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.popup_menu_test, menu); return true; } }
上面的程序中第一行粗体字代码创建了一个PopupMenu对象,第二行粗体字代码指定将该R.menu.popup_menu菜单资源文件填充到PopupMenu中,这样即可实现当用户单击界面按钮时弹出Popup菜单。
运行上面程序将看到如下效果:
相关文章推荐
- rpm 包安装软件
- APM for .NET评测系列:OneAPM vs SCOM
- [ 产品经理 ] 产品经理的一天工作内容
- PopupMenu的应用
- 关于actionbar和popupmenu结合的实例
- rpm 使用
- How To Migrate Magento From Development To Production Servers
- 基础知识:电源管理方案APM和ACPI比较
- 逆向思维 PMC云化数据中心的“技术”革命
- NPM小结
- mipmap 目录和drawable 目录有什么区别
- 阿里巴巴技术分享栈-北京大学-2015年6月15日
- 【PM】信息化系统软件开发流程
- 【PM】测试阶段源码和测试环境版本控制
- npm总是安装不成功,而且很慢?
- rpm 命令使用,包格式
- RPM安装时"Header V3 DSA signature: NOKEY, key ID*****"错误的解决方法
- CC1110 Mini Development Kit 868-915 MHz
- 51cto学院与我的产品经理之路
- 修改开机logo图片之png转ppm