Skip to content
家杰 edited this page Jan 12, 2019 · 3 revisions

这里整理一些大家经常加我QQ问的比较多的问题

1.导航栏中间的按钮是否可以不用于切换页面,用在触发别的事件(比如弹出一个提示框)?

一般会遇到这个问题的都是初学者。你需要明白一点,这个导航栏控件和其上的页面是没有强相关性的。点击导航栏的按钮就是一个点击事件,回调都是有的。 添加如下事件监听就可以解决

navigationController.addTabItemSelectedListener(new OnTabItemSelectedListener() {  
    @Override  
  public void onSelected(int index, int old) {  
       // 当导航按钮选中时被调用
  }  
  
    @Override  
  public void onRepeat(int index) {
	  // 当点击已经选中的导航按钮时被调用
  }  
});

2.图标的颜色为什么不是原色?

这个问题应该是发生在使用材料设计样式的时候(也就是用material()构建的导航栏)。按照官方的设计指南,导航栏的图标应该是纯色的,所以在这个模式下,会按设置的常态和选中状态的颜色对图标进行染色。

2.3.0版本开始,添加了一个可以不对图标进行染色的方法

....
tab.material()  
	....	
    .dontTintIcon() // 不对图标进行染色
    .build();
....

3.图标染色后为什么外观变了?

这个问题也有很多人来问,主要是使用的图片有点问题。

下面这张图片应该可以很好的解释这个问题 tint

染色就是将图片的有色区域都变成同一个指定的颜色。所以,把图标上不需要染色的部分变透明就可以了。

4.未读消息数量的大小能不能修改?

不能!没有提供这样的方法