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 Compose中沉浸式设计、导航栏、状态栏的处理
android Compose中沉浸式设计、导航栏、状态栏的处理
1819 0
android Compose中沉浸式设计、导航栏、状态栏的处理
|
5天前
|
XML Android开发 数据格式
android 9 Systemui 动态隐藏导航栏
android 9 Systemui 动态隐藏导航栏
11 0
|
20天前
|
XML 存储 测试技术
Android系统 添加动态控制SystemUI状态栏、导航栏和下拉菜单
Android系统 添加动态控制SystemUI状态栏、导航栏和下拉菜单
38 1
|
5月前
|
XML Java Android开发
Android Studio App开发中工具栏Toolbar、溢出菜单OverflowMenu、标签布局TabLayout的讲解及实战(实现京东App的标签导航栏,附源码)
Android Studio App开发中工具栏Toolbar、溢出菜单OverflowMenu、标签布局TabLayout的讲解及实战(实现京东App的标签导航栏,附源码)
92 0
|
11月前
|
Android开发
Android的Dialog弹出时隐藏导航栏效果,目前认为的最优解
Android的Dialog弹出时隐藏导航栏效果,目前认为的最优解
|
11月前
|
Java 测试技术 API
Android透明状态栏和导航栏方案最终版
Android透明状态栏和导航栏方案最终版
562 0
|
Android开发
Android10.0 导航栏和状态栏动态控制合集
Android10.0 导航栏和状态栏动态控制合集
131 0
|
Java Shell API
Android源码(6.0和8.1) 屏蔽状态栏下拉和屏蔽导航栏显示
Android源码(6.0和8.1) 屏蔽状态栏下拉和屏蔽导航栏显示
412 0
|
XML Java Android开发
Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar
Android6.0 源码修改之屏蔽导航栏虚拟按键(Home和RecentAPP)/动态显示和隐藏NavigationBar
171 0
|
Android开发
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景
660 0
Android 11 SystemUI(状态/导航栏)-状态栏下拉时图标的隐藏与通知面板的半透黑色背景