5

В настоящее время я пытаюсь создать круговой переход между моим FAB и другим действием.Как я могу превратить makeSceneTransitionAnimation в круг, а не в прямоугольник?

Из того, что я understodd в документации, я должен использовать makeSceneTransitionAnimation аналогично этому:

public void onFabClicked(View v){ 
    try { 
     Intent intent = new Intent(this, SearchActivity.class); 
     ActivityOptions options = ActivityOptions 
       .makeSceneTransitionAnimation(this, v, "reveal"); 
     startActivity(intent, options.toBundle()); 
    } catch (Exception e) { 
     // makeSceneTransitionAnimation not supported, maybe a check of SDK level is enough to avoid catching an error? 
     Intent intent = new Intent(this, SearchActivity.class); 
     startActivity(intent); 
     e.printStackTrace(); 
    } 
} 

К сожалению, текущая анимация отображает прямоугольник во время анимации.

Как можно превратить это в прекрасное круговое раскрытие, которое мы любим в Lollipop?

Спасибо.

EDIT:

Я пытаюсь добиться этого (кроме того, что цвет должен быть на весь экран, но у вас есть пункт ..)): enter image description here

То, что я на самом деле получить:

enter image description here

+0

Вы имеете в виду, что Fab делится между двумя действиями в том виде, в котором он упивается, от прямоугольника до кругового? можете ли вы привести пример анимации, которую вы пытаетесь достичь (приложение)? – royB

+0

FAB должен превратиться в фон активности. Я надеюсь, что скриншоты, которые я добавил, лучше ... –

+0

Я написал пример приложения, которое делает что-то подобное. Вы можете посмотреть на него [здесь] (https://github.com/alexjlockwood/activity-transitions). –

ответ

3

ОК, я использовал это в качестве примера: он прекрасно работает:

Code on Github from saulmm

Но .... Да, это просто и прекрасно работает, но на самом деле это не самый эффективный способ добиться эффекта. Добавление дополнительного вида в макет и игра с видимостью, возможно, не является оптимальным способом.

У него было много проблем, связанных с решением George Mount. Но поскольку это решение написано инженером-программистом в Google, работающим в команде Android UI Toolkit и предложенным Алексом, другим инженером Google, я думаю, что я должен проводить с ним больше времени, поскольку он не требует дополнительных вид в моем макете ...

Второй для меня немного сложнее, но он будет работать на нем.

В любом случае проблема решена.