Animating action bar icons appearing on fragment c

2019-05-19 20:46发布

My current app has fragment and slidingUpCard navigation. Each one of them has a different set of active ActionBar elements and the buttons change with the screen. I was wondering if there was a way of animating the buttons coming and going similar to what android:animateLayoutChanges would do for a LinearLayout.

1条回答
我只想做你的唯一
2楼-- · 2019-05-19 21:34

On your question. I'm not sure if it is possible to add animateLayoutChanges to the ActionBarContainer that holds the ActionBar. But still you can access the ActionBarView in same manner as you will see a bit down in this answer.

Hierarchy: ActionBarContainer -> ActionBarView -> AbsActionBarView -> ViewGroup

Idea:

Take a look at this gist and see how menu items are accessed and referenced as View

Next:

  1. Hide all menu item but get their icon resource or entire View you see in the gist.

  2. Use ObjectAnimator or ViewPropertyAnimator to animate the xfor going in and out.

  3. Once the animation has ended, change the visibilty of the menus

Note that this is dirty way. It can be slow due to the reflection.

查看更多
登录 后发表回答