博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PopWindowns菜单的创建和基本使用
阅读量:6037 次
发布时间:2019-06-20

本文共 2594 字,大约阅读时间需要 8 分钟。

hot3.png

PopWindowns菜单的创建和基本使用

1、在activity_main.xml布局文件 布局一个按钮控件

2、在res创建一个menu文件夹 -- 在创建一个menu_activity,xml布局文件
代码

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns: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();
 } 
 

效果图示例

202901_NkEE_2542711.png=========================================

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

1、res/layout里有一个布局popwindown_activity.xml布局文件

//用来设置3张图片
代码

<LinearLayout xmlns:android=""

    xmlns: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);
 }

效果图示

202950_mCMj_2542711.png

转载于:https://my.oschina.net/u/2542711/blog/608457

你可能感兴趣的文章
Google 翻译的妙用
查看>>
算法导论--python--插入排序
查看>>
Hydra用户手册
查看>>
常用的集合
查看>>
Unity3D工程源码目录
查看>>
杀死进程命令
查看>>
cookie 和session 的区别详解
查看>>
浮点数网络传输
查看>>
Mongodb对集合(表)和数据的CRUD操作
查看>>
面向对象类的解析
查看>>
tomcat如何修改发布目录
查看>>
CentOS 5.5 使用 EPEL 和 RPMForge 软件库
查看>>
Damien Katz弃Apache CouchDB,继以Couchbase Server
查看>>
Target runtime Apache Tomcat is not defined.错误解决方法
查看>>
某机字长为32位,存储容量为64MB,若按字节编址.它的寻址范围是多少?
查看>>
VC++ 监视文件(夹)
查看>>
【转】keyCode对照表及JS监听组合按键
查看>>
[Java开发之路](14)反射机制
查看>>
mac gentoo-prefix安装git svn
查看>>
浅尝异步IO
查看>>