轉自http://blog.csdn.net/swadair/article/details/7494395
pressnavigationbar元件通過美化可以實作“美麗說”具有按下效果的頂部導航欄,如圖:
pressnavigationbar元件可以直接用于生産應用。
這是美麗說
這是pressnavigationbar元件美化後仿美麗說效果圖
pressnavigationbar使用的源碼如下:
[java] view
plaincopy
package cn.w.song.ui;
import java.util.hashmap;
import java.util.linkedlist;
import java.util.list;
import java.util.map;
import android.app.activity;
import android.graphics.color;
import android.os.bundle;
import android.view.motionevent;
import android.view.view;
import cn.w.song.widget.navigation.pressnavigationbar;
/**
* 這是pressnavigationbar的一個應用demo
* 仿"美麗說"頂部的具有按下效果的導航欄
* 注意确定w.song.android.widget-1.0.2.jar已經導入項目
* 該包已放在該項目的根目錄中。
* 了解詳情看博文
* @author w.song
* @version 1.0.1
* @date 2012-4-24
*/
public class meilishuopressnavigationbardemoactivity extends activity {
@override
protected void oncreate(bundle savedinstancestate) {
super.oncreate(savedinstancestate);
this.setcontentview(r.layout.meilishuopressnavigationbardemo_ui);
pressnavigationbar pressnavigationbar = (pressnavigationbar) findviewbyid(r.id.navigationbartest_ui_pressnavigationbar);
/* 動态部署資料 */
string[] text = { "最熱", "最新", "猜你喜歡" };
int[] textsize = { 14, 14, 14 };//機關sp
int[] textcolor = { color.white, color.white, color.white };
int[] image = { r.drawable.message_left_button_normal,
r.drawable.message_middle_button_normal,
r.drawable.message_right_button_normal };//未被選擇樣式(圖檔)
int[] imageselected = { r.drawable.message_left_button_pressed,
r.drawable.message_middle_button_pressed,
r.drawable.message_right_button_pressed };//被選擇樣式(圖檔)
list<map<string, object>> pressbarlist = new linkedlist<map<string, object>>();
for (int i = 0; i < image.length; i++) {
map<string, object> map = new hashmap<string, object>();
map.put("text", text[i]);
map.put("textsize", textsize[i]);
map.put("textcolor", textcolor[i]);
map.put("image", image[i]);
map.put("imageselected", imageselected[i]);
pressbarlist.add(map);
}
/* "按下效果導航欄"添加子元件 */
pressnavigationbar.addchild(pressbarlist);
/* "按下效果導航欄"添加監視 */
pressnavigationbar.setpressnavigationbarlistener(new pressnavigationbar.pressnavigationbarlistener() {
/**
*@params position 被選位置
*@params view 為導航欄
*@params event 移動事件
*/
@override
public void onnavigationbarclick(int position, view view,
motionevent event) {
switch (event.getaction()) {
case motionevent.action_down:// 按下去時
break;
case motionevent.action_move://移動中
case motionevent.action_up:// 擡手時
}
}
});
}
}
完整demo項目下載下傳 android版仿美麗說按下效果的頂部導航欄
pressnavigationbar元件下載下傳 w.song.android.widget-1.0.2.jar