Menu菜单之PopMenu

来源:互联网 发布:chrome启用java插件 编辑:程序博客网 时间:2024/06/05 20:13
PopupMenu
    PopupMenu(Context context, View anchor): 第二个参数是指弹出菜单显示的哪一个控件的下方或上方
    MenuInflater.inflate(int menuResId,PopupMenu.getMenu()) 加载菜单资源到弹出菜单对象中
    setOnMenuItemClickListener() 设置弹出菜单项的点击事件
    show() 弹出菜单

    dismiss() 关闭菜单

package com.qianfengpopmenu;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.PopupMenu.OnMenuItemClickListener;import android.widget.Toast;public class MainActivity extends Activity implements OnMenuItemClickListener{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//点点击按钮时弹出弹出菜单    public void showPop(View view){    //创建弹出菜单对象    PopupMenu popupMenu=new PopupMenu(MainActivity.this, view);    //将指定的菜单布局进行加载    getMenuInflater().inflate(R.menu.main, popupMenu.getMenu());    popupMenu.setOnMenuItemClickListener(this);//给菜单绑定监听    //展示菜单    popupMenu.show();    }    //当popupmenu中某一项被点击时回调该方法@Overridepublic boolean onMenuItemClick(MenuItem item) {switch (item.getItemId()) {case R.id.action_about:Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();break;default:break;}return false;}}

菜单Xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >    <item        android:id="@+id/action_settings"        android:orderInCategory="100"        android:showAsAction="never"        android:title="@string/action_settings"/>    <item        android:id="@+id/action_about"        android:orderInCategory="100"        android:showAsAction="never"        android:title="关于"/></menu>



0 0
原创粉丝点击