您的位置:首页 > 运维架构

PopWindowns菜单的创建和基本使用

2016-01-23 00:00 295 查看
摘要: PopWindowns菜单

PopWindowns菜单的创建和基本使用

1、在activity_main.xml布局文件 布局一个按钮控件
2、在res创建一个menu文件夹 -- 在创建一个menu_activity,xml布局文件
代码

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/user_set" android:title="用户设置"/>
<item android:id="@+id/system_set" android:title="系统设置"/>

</menu>
----------------

3、创建PopWindowns菜单和基本使用

代码

//1、找到布局文件
convertView = LayoutInflater.from(this).inflate(R.layout.popwindown_activity, null);
//2、new 一个PopupWindow
//用LayoutParams -- 设置菜单长度和宽度
popupwindow = new PopupWindow(convertView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

//按钮 监听事件
public void popMenu(View view){
//创建一个PopupMenu 菜单
//* 1、new一个PopupMenu
PopupMenu popmenu = new PopupMenu(this, view);
// 2、获取菜单 -- popmenu.getMenu()
getMenuInflater().inflate(R.menu.menu_activity, popmenu.getMenu());
//显示菜单
// 3、显示菜单
popmenu.show();
}

效果图示例


=========================================

PopWindowns菜单 -- 按菜单键时 弹出 相应的图片

1、res/layout里有一个布局popwindown_activity.xml布局文件
//用来设置3张图片
代码

<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:background="#000"
android:orientation="horizontal" >

<ImageView
android:id="@+id/img_collect"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onclick_img"
android:src="@drawable/collectcontent" />

<ImageView
android:id="@+id/img_back"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onclick_img"
android:src="@drawable/contentback" />

<ImageView
android:id="@+id/img_share"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="onclick_img"
android:src="@drawable/contentshare" />

</LinearLayout>

------------------

2、实现按菜单键时在模拟器底部弹出相应的图片

代码

//1、找到布局文件
convertView = LayoutInflater.from(this).inflate(R.layout.popwindown_activity, null);
//2、new 一个PopupWindow
//用LayoutParams -- 设置菜单长度和宽度
popupwindow = new PopupWindow(convertView, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);

//通过 menu菜单按钮 来触发
@Override//重写onKeyDown方法 -- 然后对菜单键进行判断
public boolean onKeyDown(int keyCode, KeyEvent event) {
//判断是否是 Menu(菜单)键
switch(keyCode){
case KeyEvent.KEYCODE_MENU://菜单键
if(popupwindow.isShowing()){//菜单键 显示
popupwindow.dismiss();
}else{
popupwindow.showAtLocation(convertView, Gravity.BOTTOM, 0, 0);
}
break;
case KeyEvent.KEYCODE_BACK://返回键
if(popupwindow.isShowing()){
popupwindow.dismiss();
return false;
}
break;
}
return super.onKeyDown(keyCode, event);
}

效果图示

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  PopWindowns