zoukankan      html  css  js  c++  java
  • Android之用PopupWindow实现弹出listview形式菜单

    Android 4.0之前的菜单使用非常广泛,但是在android4.0之后,很少使用先前的菜单样式了。那如何实现下图的样式了?

    我们简单模拟一下。

    (1)屏蔽系统弹出的菜单:

    1、首先创建至少一个系统的菜单选项

    1. @Override  
    2.    public boolean onCreateOptionsMenu(Menu menu)  
    3.    {  
    4.        menu.add("menu");// 必须创建一项   
    5.        return super.onCreateOptionsMenu(menu);  
    6.    }  

    2、在onMenuOpened方法里显示自己的菜单视图,并返回FALSE。 注意必须返回false,不然会出现menu选项

    1. @Override  
    2.   public boolean onMenuOpened(int featureId, Menu menu){  
    3.   
    4.       switchSysMenuShow();  
    5.     
    6.       return false;// 返回为true 则显示系统menu   
    7.     
    8.   }  

    3、从图片中可以看出,弹出的是一个listview,所以要按照listview的标准来实现布局,给出布局文件。

    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:layout_width="fill_parent"  
    4.     android:layout_height="fill_parent"  
    5.     android:orientation="vertical"    
    6.     android:paddingLeft="20dip"  
    7.     android:gravity="right"  
    8.     android:id="@+id/hotalk_menu_view_layout" >       
    9.     <!-- 显示的listview -->   
    10.         <ListView android:id="@+id/hotalk_menu_listview"  
    11.             android:layout_width="wrap_content"   
    12.             android:layout_height="wrap_content"  
    13.             android:paddingLeft="7.6dip"      
    14.             android:paddingRight="7.6dip"                     
    15.             android:fadingEdge="none"  
    16.             android:focusable="true"  
    17.             android:longClickable="true"  
    18.             android:scrollbarSize="0sp"          
    19.             android:scrollbarStyle="insideOverlay"  
    20.             android:background="@drawable/menu_bg_popup"  
    21.             android:divider="@drawable/menu_bg_line"  
    22.             android:dividerHeight="1px"  
    23.             android:cacheColorHint="#00000000">  
    24.     </ListView>     
    25. </RelativeLayout> 
  • 相关阅读:
    最常用和最难用的控件--ListView(Android第一行代码)
    LayoutInflater的使用
    JAVA的网络编程【转】
    Android 程序调试
    android Log日志使用
    Android Animation
    实现ImageView宽度填满屏幕
    Android ViewPager使用详解
    对另一个布局文件里的Button按钮进行监听
    如何在一个Activity里使用另一个xml布局文件
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4724094.html
Copyright © 2011-2022 走看看