Toolbar的使用之二

2018-06-28  本文已影响0人  bravelion

在使用Toolbar中遇到了很多问题,整理如下。

1.一般首界面都需要多个Tab切换,如果同时使用了Toolbar且不同Tab的MenuItem不一样怎么办呢?

Android 提供了MenuItem#setVisible()方法,可以用来动态显示及隐藏某一个MenuItem。所以有如下两步:

a.加载出所有需要的MenuItem

b.在Tab切换时,调用Toolbar#getMenu#setVisible()方法来显示隐藏即可。

2.Toolbar的文字,图标显示设置

Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);//将toolbar绑定到当前activity

getSupportActionBar().setDisplayShowTitleEnable(false);//不显示title

getSupportActionBar().setDisplayHomeAsUpEnable(false);//不显示导航图标

3.如何居中显示title

Android默认title显示在左侧,如果想要将标题居中如何实现。其实Toolbar也是一个ViewGroup,我们可以在其内部,添加TextView并指定android:layout_gravity="center"即可实现标题居中的效果。

4.如何设置title,触发setTitle?居中显示title中,我们使用自定义的TextView,虽然解决了标题居中的问题,但会发现以前设置Toolbar标题的方法setTitle无法更改标题了,有没办法解决呢?有的,我们可以重写onTitleChange()方法,在其中设置我们自定义的TextView即可。

5.溢出图标的替换

a.  定义溢出图标样式

<style name="ActionOverflowButtonStyle">

<item namef="android:src">@drawable/custome_overflow</item>

</style>

b.在activity的样式中设置android:actionOverflowButtonStyle

<style name="myTheme">

    <item name="android:actionOverflowButtonStyle">@style/ActionOverflowButtonStyle</item>

</style>

上一篇下一篇

猜你喜欢

热点阅读