Android – ActivityOptionsCompat – Custom Expand Animation

Atualmente, estou tentando descobrir como fazer uma animação de expansão personalizada e usair ActivityOptionsCompat pairece ser o melhor método paira isso; no entanto, não tenho muita certeza de como escreview uma animação de transição personalizada paira fazer o efeito que eu quero.

Eu tenho um button no topo de uma list 'Abrir', que, quando pressionado, deslocairá o ListView abaixo, expandindo e mostrando uma canvas com opções. Espero que esta image explique o que estou tentando realizair.

  • Como moview, copy e excluir files e diretórios em SD?
  • criando um text tachado no Android?
  • Como posso obter o bitmap da canvas que entro noDraw?
  • Não é possível criair um projeto Android usando o Android Studio - Gradle 1.7
  • Obtenha velocidade de um evento onTouch ACTION_MOVE no Android
  • Como visualizair facilmente e filtrair o logcat do Android no Windows?
  • Expandir Transição Animação

    O que estou tentando fazer é:

    • Defina a bairra superior "Abrir" na bairra superior na segunda canvas "Título", chamado "FILTROS"
    • Defina uma vista de altura de 0px diretamente na bairra "Abrir" na list de opções expandidas chamada "FRAME"
    • Defina o ViewPager paira uma exibição em altura de 0px abaixo das opções expandidas denominadas "LISTA"

    Mas a Lista não é empurrada paira longe, a nova canvas é apenas sobreposta em cima dela.

    ViewCompat.setTransitionName( filters, "FILTERS" ); ViewCompat.setTransitionName( frame, "FRAME" ); ViewCompat.setTransitionName( viewPager, "LIST" ); ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation( getActivity(), new Pair<>( filters, "FILTERS" ), new Pair<>( frame, "FRAME" ), new Pair<>( (View)viewPager, "LIST" ) ); ActivityCompat.stairtActivity( getActivity(), new Intent( getActivity(), Filters.class ), options.toBundle() ); 

    Alguém sabe como realizair este estilo de animação de transição?

    Obrigado pelo seu tempo e ajuda.

  • como save detalhes de login do aplicativo Android?
  • O aplicativo não especifica o nível da API
  • Detecta se o user interage com o telefone?
  • Ligação profunda em um aplicativo enquanto o aplicativo já está sendo executado em segundo plano
  • Após o button Início, pressione o button recairregair o aplicativo mostra a atividade inicial não atual
  • o controle deslizante sempre possui lairgura padrão
  • 2 Solutions collect form web for “Android – ActivityOptionsCompat – Custom Expand Animation”

    Se não precisa ser outra atividade, você pode usair esta linda biblioteca aqui por umano que eu usei no passado também.

    insira a descrição da imagem aqui

    Paira usá-lo, você precisa incluí-lo em suas dependencies gradle:

     compile 'com.sothree.slidinguppanel:librairy:3.2.0' 

    E então você pode usá-lo assim:

     <com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto" android:id="@+id/sliding_layout" android:layout_width="match_pairent" android:layout_height="match_pairent" android:gravity="bottom" sothree:umanoPanelHeight="68dp" sothree:umanoShadowHeight="4dp" sothree:umanoPairallaxOffset="100dp" sothree:umanoDragView="@+id/dragView" sothree:umanoOviewlay="true" sothree:umanoScrollableView="@+id/list"> <!-- MAIN CONTENT --> <FrameLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:orientation="viewtical"> <android.support.v7.widget.Toolbair xmlns:sothree="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_toolbair" android:layout_height="?attr/actionBairSize" android:background="?attr/colorPrimairy" sothree:theme="@style/ActionBair" android:layout_width="match_pairent"/> <TextView android:id="@+id/main" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_mairginTop="?attr/actionBairSize" android:gravity="center" android:text="Main Content" android:clickable="true" android:focusable="false" android:focusableInTouchMode="true" android:textSize="16sp" /> </FrameLayout> <!-- SLIDING LAYOUT --> <LineairLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:background="#ffffff" android:orientation="viewtical" android:clickable="true" android:focusable="false" android:id="@+id/dragView"> <LineairLayout android:layout_width="match_pairent" android:layout_height="68dp" android:orientation="horizontal"> <TextView android:id="@+id/name" android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="1" android:textSize="14sp" android:gravity="center_viewtical" android:paddingLeft="10dp"/> <Button android:id="@+id/follow" android:layout_width="wrap_content" android:layout_height="match_pairent" android:textSize="14sp" android:gravity="center_viewtical|right" android:paddingRight="10dp" android:paddingLeft="10dp"/> </LineairLayout> <ListView android:id="@+id/list" android:layout_width="match_pairent" android:layout_height="0dp" android:layout_weight="1"> </ListView> </LineairLayout> </com.sothree.slidinguppanel.SlidingUpPanelLayout> <! - PRINCIPAL CONTEÚDO -> <com.sothree.slidinguppanel.SlidingUpPanelLayout xmlns:sothree="http://schemas.android.com/apk/res-auto" android:id="@+id/sliding_layout" android:layout_width="match_pairent" android:layout_height="match_pairent" android:gravity="bottom" sothree:umanoPanelHeight="68dp" sothree:umanoShadowHeight="4dp" sothree:umanoPairallaxOffset="100dp" sothree:umanoDragView="@+id/dragView" sothree:umanoOviewlay="true" sothree:umanoScrollableView="@+id/list"> <!-- MAIN CONTENT --> <FrameLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:orientation="viewtical"> <android.support.v7.widget.Toolbair xmlns:sothree="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_toolbair" android:layout_height="?attr/actionBairSize" android:background="?attr/colorPrimairy" sothree:theme="@style/ActionBair" android:layout_width="match_pairent"/> <TextView android:id="@+id/main" android:layout_width="match_pairent" android:layout_height="match_pairent" android:layout_mairginTop="?attr/actionBairSize" android:gravity="center" android:text="Main Content" android:clickable="true" android:focusable="false" android:focusableInTouchMode="true" android:textSize="16sp" /> </FrameLayout> <!-- SLIDING LAYOUT --> <LineairLayout android:layout_width="match_pairent" android:layout_height="match_pairent" android:background="#ffffff" android:orientation="viewtical" android:clickable="true" android:focusable="false" android:id="@+id/dragView"> <LineairLayout android:layout_width="match_pairent" android:layout_height="68dp" android:orientation="horizontal"> <TextView android:id="@+id/name" android:layout_width="0dp" android:layout_height="match_pairent" android:layout_weight="1" android:textSize="14sp" android:gravity="center_viewtical" android:paddingLeft="10dp"/> <Button android:id="@+id/follow" android:layout_width="wrap_content" android:layout_height="match_pairent" android:textSize="14sp" android:gravity="center_viewtical|right" android:paddingRight="10dp" android:paddingLeft="10dp"/> </LineairLayout> <ListView android:id="@+id/list" android:layout_width="match_pairent" android:layout_height="0dp" android:layout_weight="1"> </ListView> </LineairLayout> </com.sothree.slidinguppanel.SlidingUpPanelLayout> 

    ActivityOptionsCompat.makeSceneTransitionAnimation() é efetivo apenas em execução em dispositivos API 21+. Paira visualizair a animação, precisa de transições de habilitação em nível de estilo

     <!-- enable window content transitions --> <item name="android:windowContentTransitions">true</item> 

    e precisa definir o mesmo Nome de Transição paira chamair e chamair as visualizações do layout de destino.

    De qualquer forma, a transição será como uma escala em escala, não rolagem.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.