9

В моем приложении я установить панель инструментов и статус бар как общие объекты as suggested in option #2 in this postAndroid - панель инструментов и строка состояния в виде разделяемых объектов с содержанием изменений

общее поведение и контур на панели инструментов и вкладки отлично - единственная проблема что когда я перехожу к действию B, некоторые тексты и значки меняются - и в настоящее время изменение происходит после завершения перехода общего элемента.

Я попытался добавить SharedElementCallback и в этом цикле над детьми на панели инструментов и вкладки и добавьте их в Fade перехода а - но это никак не повлияло на поведение содержимого панели инструментов и вкладки.

Любая идея, как исходить отсюда?

Добавлены скриншоты после комментариев:

Активность А

In Activity A

активность B

In Activity B

+0

сложный сэр, изменяя, как, вы можете дать скриншоты? – Elltz

+0

Какое поведение твоей компании? «* когда я перехожу к действию B, некоторые тексты и значки меняются *« - действия должны быть независимыми компонентами вашего приложения, почему при переходе на эту активность при изменении текста и/или значков? – Simas

+0

То, что я хочу, - это плавный переход на панели инструментов от Activity A до B - это означает, что некоторые исчезают из значков и текста, представленных в A, и исчезают из значков и текста, представленных в B. В настоящее время фон переходит в режим ok, но текст и значки переключаются, когда анимация завершается –

ответ

1

Каждое действие имеет свое собственное меню, так что вы должны создать меню для каждый, даже если они одинаковы.

Однако, если вы предпочитаете, вы можете создать только одно меню и создать пользовательский класс для управления меню; Затем вы вызываете этот пользовательский класс по onCreateOptionsMenu и onOptionsItemSelected из любой активности.

Приведенный ниже пример.

Пользовательский класс:

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); 

} 
+0

Вопрос в том, как оживить переход из одного меню в другое –

+0

Но вы сказали, что он работает хорошо, и единственная проблема - это изменения иконок и текстов. Попробуйте добавить код анимации в пользовательский класс. –

+0

они меняются без анимации - часть, которая работает нормально, является частью, где вся панель инструментов не мерцает - это проблема, которая была решена в сообщении, которое я связал с –