android-仿美丽说具有按下效果的顶部导航栏

简介:

转自http://blog.csdn.net/swadair/article/details/7494395

PressNavigationBar组件通过美化可以实现“美丽说”具有按下效果的顶部导航栏,如图:

PressNavigationBar组件可以直接用于生产应用。


这是美丽说这是PressNavigationBar组件美化后仿美丽说效果图


PressNavigationBar使用的源码如下:

[java]  view plain copy
  1. package cn.w.song.ui;  
  2.   
  3. import java.util.HashMap;  
  4. import java.util.LinkedList;  
  5. import java.util.List;  
  6. import java.util.Map;  
  7.   
  8. import android.app.Activity;  
  9. import android.graphics.Color;  
  10. import android.os.Bundle;  
  11. import android.view.MotionEvent;  
  12. import android.view.View;  
  13. import cn.w.song.widget.navigation.PressNavigationBar;  
  14.   
  15. /** 
  16.  * 这是PressNavigationBar的一个应用demo 
  17.  * 仿"美丽说"顶部的具有按下效果的导航栏 
  18.  * 注意确定w.song.android.widget-1.0.2.jar已经导入项目 
  19.  * 该包已放在该项目的根目录中。 
  20.  * 了解详情看博文 
  21.  * @author w.song 
  22.  * @version 1.0.1 
  23.  * @date 2012-4-24 
  24.  */  
  25. public class MeiLiShuoPressNavigationBarDemoActivity extends Activity {  
  26.     @Override  
  27.     protected void onCreate(Bundle savedInstanceState) {  
  28.         super.onCreate(savedInstanceState);  
  29.         this.setContentView(R.layout.meilishuopressnavigationbardemo_ui);  
  30.         PressNavigationBar pressNavigationBar = (PressNavigationBar) findViewById(R.id.navigationbartest_ui_PressNavigationBar);  
  31.         /* 动态部署数据 */  
  32.         String[] text = { "最热""最新""猜你喜欢" };  
  33.         int[] textSize = { 141414 };//单位sp  
  34.         int[] textColor = { Color.WHITE, Color.WHITE, Color.WHITE };  
  35.         int[] image = { R.drawable.message_left_button_normal,  
  36.                 R.drawable.message_middle_button_normal,  
  37.                 R.drawable.message_right_button_normal };//未被选择样式(图片)  
  38.         int[] imageSelected = { R.drawable.message_left_button_pressed,  
  39.                 R.drawable.message_middle_button_pressed,  
  40.                 R.drawable.message_right_button_pressed };//被选择样式(图片)  
  41.         List<Map<String, Object>> pressBarList = new LinkedList<Map<String, Object>>();  
  42.         for (int i = 0; i < image.length; i++) {  
  43.             Map<String, Object> map = new HashMap<String, Object>();  
  44.             map.put("text", text[i]);  
  45.             map.put("textSize", textSize[i]);  
  46.             map.put("textColor", textColor[i]);  
  47.             map.put("image", image[i]);  
  48.             map.put("imageSelected", imageSelected[i]);  
  49.             pressBarList.add(map);  
  50.         }  
  51.           
  52.         /* "按下效果导航栏"添加子组件  */  
  53.         pressNavigationBar.addChild(pressBarList);  
  54.           
  55.         /* "按下效果导航栏"添加监视 */  
  56.         pressNavigationBar.setPressNavigationBarListener(new PressNavigationBar.PressNavigationBarListener() {  
  57.           /** 
  58.             *@params position 被选位置 
  59.             *@params view 为导航栏 
  60.             *@params event 移动事件 
  61.             */  
  62.             @Override  
  63.             public void onNavigationBarClick(int position, View view,  
  64.                     MotionEvent event) {  
  65.                 switch (event.getAction()) {  
  66.                 case MotionEvent.ACTION_DOWN:// 按下去时  
  67.                       
  68.                     break;  
  69.                 case MotionEvent.ACTION_MOVE://移动中  
  70.                       
  71.                     break;  
  72.                 case MotionEvent.ACTION_UP:// 抬手时     
  73.                       
  74.                     break;  
  75.                 }  
  76.             }  
  77.         });  
  78.     }  
  79. }  

完整demo项目下载  android版仿美丽说按下效果的顶部导航栏

PressNavigationBar组件下载 w.song.android.widget-1.0.2.jar



相关文章
|
存储 缓存 小程序
你真的知道Android按下开机键到启动发生什么吗?小白也能看明白
你真的知道Android按下开机键到启动发生什么吗?小白也能看明白
你真的知道Android按下开机键到启动发生什么吗?小白也能看明白
|
Android开发 数据格式 XML
android使用shape做selector按钮按下和弹起的动画
平时效果:   按下效果: selector代码: ...
1231 0
|
Android开发 数据格式 XML
Android利用广播监听按下HOME和RECENT_APPS键
MainActivity如下: package cn.testhomekey; import android.os.Bundle; import android.
1256 0
|
Android开发
Android利用广播监听按下HOME和电源键
MainActivity如下: package cc.testhome; import cc.testhome.HomeKeyObserver.
1370 0
|
Android开发
Android去除按下HOME按键后上方的搜索框
找到布局文件:packages\apps\Launcher3\res\values\dimens.xml +74将48dp改为0dp  48dp找到相关触发代码:packages\apps\Launcher3\src\com\android\launcher3\allapps\DefaultAppSearchController.
713 0
|
Android开发
Android 自定义控件之SlidingMenuVertical顶部悬浮(垂直折叠抽屉,有滑动渐变回调,可自行添加渐变动画)
顶部悬浮(垂直折叠抽屉,有滑动渐变回调,可自行添加渐变动画)
2095 0
|
4天前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
23 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
13天前
|
Dart 前端开发 Android开发
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
37 4
【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex

热门文章

最新文章

  • 1
    如何修复 Android 和 Windows 不支持视频编解码器的问题?
  • 2
    Android历史版本与APK文件结构
  • 3
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 4
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 5
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
  • 6
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
  • 7
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 8
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
  • 9
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
  • 10
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
  • 1
    Cellebrite UFED 4PC 7.71 (Windows) - Android 和 iOS 移动设备取证软件
    24
  • 2
    【03】仿站技术之python技术,看完学会再也不用去购买收费工具了-修改整体页面做好安卓下载发给客户-并且开始提交网站公安备案-作为APP下载落地页文娱产品一定要备案-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    32
  • 3
    Android历史版本与APK文件结构
    120
  • 4
    【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
    27
  • 5
    【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
    23
  • 6
    APP-国内主流安卓商店-应用市场-鸿蒙商店上架之必备前提·全国公安安全信息评估报告如何申请-需要安全评估报告的资料是哪些-优雅草卓伊凡全程操作
    56
  • 7
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    37
  • 8
    当flutter react native 等混开框架-并且用vscode-idea等编译器无法打包apk,打包安卓不成功怎么办-直接用android studio如何打包安卓apk -重要-优雅草卓伊凡
    73
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    118
  • 10
    Android经典面试题之Kotlin中Lambda表达式和匿名函数的区别
    29