Android – 工具栏和状态栏作为内容更改的共享对象

在我的应用程序中,我将工具栏和状态栏设置为共享对象, 如本文后面的选项#2所示

工具栏和选项卡的一般行为和轮廓非常好 – 唯一的问题是,当我移动到活动B时,某些文本和图标正在改变 – 而且当前在共享元素转换完成后进行更改。

我尝试添加一个SharedElementCallback,并在其中遍历工具栏和选项卡的子项,并将它们全部添加到Fade转换 – 但它不影响工具栏和选项卡内容的行为。

任何想法如何从这里开始?

评论后添加了截图:

活动A

在活动A

活动B

在活动B中

Solutions Collecting From Web of "Android – 工具栏和状态栏作为内容更改的共享对象"

每个活动都有你自己的菜单,所以你必须为每个菜单创build菜单,即使它们是相同的。

但是,如果您愿意,您可以创build一个菜单并创build一个用于操作菜单的自定义类; 然后你在任何活动上调用onCreateOptionsMenuonOptionsItemSelected这个自定义类。

下面的代码是一个例子。

自定义类:

 public class MenuActionBar { public static void createOptionsMenu(final Activity activity, Menu menu) { activity.getMenuInflater().inflate(R.menu.yourmenu, menu); // Do whatever you wanna do } public static boolean optionsItemSelected(Activity activity, MenuItem item) { // Do whatever you wanna do } } 

活动:

 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuActionBar.createOptionsMenu(this, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { return MenuActionBar.optionsItemSelected(this, item) ? true : super.onOptionsItemSelected(item); }