-
Notifications
You must be signed in to change notification settings - Fork 394
V2_自定义扩展
家杰 edited this page Aug 7, 2017
·
6 revisions
如果你想用自己布局替代导航栏中默认的Item,那么V2版本中有一个我自己认为比较简单的方法去实现。
Library中已经实现了的一个例子NormalItemView
初始化导航栏的时候需要这样写:
@Override
protected void onCreate(Bundle savedInstanceState) {
......
PageNavigationView tab = (PageNavigationView) findViewById(R.id.tab);
//注意这里调用了custom()方法
NavigationController navigationController = tab.custom()
.addItem(newItem(R.drawable.ic_restore_gray_24dp,R.drawable.ic_restore_teal_24dp,"Recents"))
.addItem(newItem(R.drawable.ic_favorite_gray_24dp,R.drawable.ic_favorite_teal_24dp,"Favorites"))
.addItem(newItem(R.drawable.ic_nearby_gray_24dp,R.drawable.ic_nearby_teal_24dp,"Nearby"))
.build();
......
}
//创建一个Item
private BaseTabItem newItem(int drawable,int checkedDrawable,String text){
NormalItemView normalItemView = new NormalItemView(this);
normalItemView.initialize(drawable,checkedDrawable,text);
normalItemView.setTextDefaultColor(Color.GRAY);
normalItemView.setTextCheckedColor(0xFF009688);
return normalItemView;
}
前后都是一样的,无非就是构建的时候有一点点区别。这已经是我目前认为比较简单的方法了。
你需要创建一个类,继承BaseTabItem,仅此而已!
当然BaseTabItem是一个抽象类,你需要实现它的方法,不过稍微有点安卓基础应该就不难了吧 了吧 吧
Library中已经实现的一个最普通的效果 |
---|
Demo中的例子 | |
---|---|