Android自定义PopupWindow实现的Menu(TabMenu)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-17 14:38 点击:

用过UCWEB-Android版的人都应该对其特殊的menu有印象,把menu做成Tab-Menu(支持分页的Menu),可以容纳比Android传统的menu更丰富的内容(Android的menu超过6项则缩略在[更多]里),本文参考网上的例子,对例子进行简化以及封装,使其作为一个复合控件融入自己的framework。

先来看看本文程序运行的效果:
 

TabMenu本身就是一个PopupWindow,PopupWindow上面放了两个GridView,第一个GridView就是分页标签,位于PopupWindow的顶部,第二个GridView是菜单,位于PopupWindow的主体。为了实现PopupWindow的弹出/退出的动画效果,本文使用了以下代码:

在工程的res文件夹里添加anim子目录,再新建文件popup_enter.xml:
Java代码 
<?xml version="1.0" encoding="utf-8"?>   
<set xmlns:android="http://schemas.android.com/apk/res/android">   
    <translate android:fromYDelta="100%p" android:toYDelta="0" android:duration="1000" />   
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="1000" />   
</set> 


新建文件popup_exit.xml:
Java代码 
<?xml version="1.0" encoding="utf-8"?>   
<set xmlns:android="http://schemas.android.com/apk/res/android">   
    <translate android:fromYDelta="0" android:toYDelta="100%p" android:duration="1000" />   
    <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="1000" />   
</set> 


在工程的values文件夹里新建文件popup_animation.xml:
Java代码 
<?xml version="1.0" encoding="utf-8"?>   
<resources>      
    <style name="PopupAnimation" parent="android:Animation">  
        <item name="android:windowEnterAnimation">@anim/popup_enter</item>   
        <item name="android:windowExitAnimation">@anim/popup_exit</item>    
    </style>   
</resources> 


main.xml的源码如下:
Java代码 
<?xml version="1.0" encoding="utf-8"?>   
<LinearLayout android:id="@+id/LinearLayout01"   
    android:layout_width="fill_parent" android:layout_height="fill_parent"   
    xmlns:android="http://schemas.android.com/apk/res/android">   

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • android 屏幕保护
  • Android手机软件汉化教程---第四课 dex文件汉化
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android Audio代码分析4
  • Android得到已安装的应用程序信息!
  • Android开发者指南(29) —— USB Host and Accessory
  • Android成长的幕后推手:工程师鲁宾
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1