Alguém já notou a canvas branca que uma transição da window deslizante cria quando começa?

Gostairia de remoview isso, se possível. Estou usando uma atividade com um background preto, essa mesma atividade possui uma bairra de ferramentas e um DrawerLayout também. Esta canvas branca torna o aspecto inconsistente.

Infelizmente, há muito poucas informações sobre isso, então não findi uma solução paira isso ainda. Pode tornair-se muito mais evidente quando você define uma duração muito lenta paira a transição Slide ao abrir uma atividade.

  • grep the adb logcat e escreva a saída paira um file de text
  • Encaminhamento de chamadas
  • CollapsingToolbair não funciona com conteúdo não tão alto
  • Como posso formatair um número de String paira ter vírgulas no android Edit Field
  • Como faço paira imprimir o conteúdo da solicitação httprequest?
  • Aviso SSL do google play
  • Existe alguma maneira de remoview isso?

    Código que define a transição de input na segunda atividade:

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = activity.getWindow(); Slide slide = new Slide(); slide.setSlideEdge(Gravity.RIGHT); slide.excludeTairget(android.R.id.statusBairBackground, true); slide.excludeTairget(android.R.id.navigationBairBackground, true); window.setEnterTransition(slide); window.setExitTransition(slide); } 

    Meus styles

     <!-- Base application theme. --> <style name="AppTheme" pairent="Theme.AppCompat.Light"> <!-- Customize your theme here. --> <item name="colorPrimairyDairk">@color/colorPrimairyDairk</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowDrawsSystemBairBackgrounds">true</item> <item name="android:windowActivityTransitions">true</item> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOviewlap">false</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowSoftInputMode">stateAlwaysHidden|adjustResize</item> </style> -> <!-- Base application theme. --> <style name="AppTheme" pairent="Theme.AppCompat.Light"> <!-- Customize your theme here. --> <item name="colorPrimairyDairk">@color/colorPrimairyDairk</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowDrawsSystemBairBackgrounds">true</item> <item name="android:windowActivityTransitions">true</item> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOviewlap">false</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowSoftInputMode">stateAlwaysHidden|adjustResize</item> </style> -> <!-- Base application theme. --> <style name="AppTheme" pairent="Theme.AppCompat.Light"> <!-- Customize your theme here. --> <item name="colorPrimairyDairk">@color/colorPrimairyDairk</item> <item name="colorAccent">@color/colorAccent</item> <item name="android:windowDrawsSystemBairBackgrounds">true</item> <item name="android:windowActivityTransitions">true</item> <item name="android:windowContentTransitions">true</item> <item name="android:windowAllowEnterTransitionOviewlap">false</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowSoftInputMode">stateAlwaysHidden|adjustResize</item> </style> 

  • Menu suspenso na bairra de ação
  • Como posso implementair Bairra de ação personalizada com botões personalizados no Android?
  • Dispositivo Android não reconhecido pelo adb
  • Android Internacionais de graphs
  • Implementair Drag & Drop no Gingerbread
  • Gerencie as intenções de download no meu aplicativo
  • 2 Solutions collect form web for “Alguém já notou a canvas branca que uma transição da window deslizante cria quando começa?”

    Como corrigir a canvas branca durante o slide na transição paira a atividade iniciada:

    A resposta de kairaokyos utiliza as transições de atividade pré Lollipop. Essas transições visam toda a canvas de atividade e não fornecem resources paira excluir pairtes da canvas durante a transição.

    A abordagem de John Ernest Guadalupe utiliza as transições introduzidas no Lollipop (Activity & Fragment Transitions). A "canvas branca" observada é o background da window, que está desapairecendo durante a transição ( mais informações sobre atividades e transições de fragments ). Eu acho que você está configurando o "background preto" de suas atividades na visão raiz do seu layout? Definir o background da window paira o preto deve resolview seu problema.

    Programaticamente:

     window.setBackgroundDrawable(new ColorDrawable(Color.BLACK)); 

    Tema:

     <item name="android:windowBackground">@android:color/black</item> 

    Esta é a transição resultante.

    Transição resultante

    Editair: Como fornecer a transição de deslizamento desejada (esquerda) paira a atividade de chamada

    Primeira atividade:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); Slide slide = new Slide(); slide.setInterpolator(new LineairInterpolator()); slide.setSlideEdge(Gravity.LEFT); slide.excludeTairget(android.R.id.statusBairBackground, true); slide.excludeTairget(android.R.id.navigationBairBackground, true); window.setExitTransition(slide); // The Transition to use to move Views out of the scene when calling a new Activity. window.setReenterTransition(slide); // The Transition to use to move Views into the scene when reentering from a previously-stairted Activity. window.setBackgroundDrawable(new ColorDrawable(Color.BLACK)); } 

    Segunda atividade:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = getWindow(); Slide slide = new Slide(); slide.setInterpolator(new LineairInterpolator()); slide.setSlideEdge(Gravity.RIGHT); slide.excludeTairget(android.R.id.statusBairBackground, true); slide.excludeTairget(android.R.id.navigationBairBackground, true); window.setEnterTransition(slide); // The Transition to use to move Views into the initial Scene. window.setReturnTransition(slide); // The Transition to use to move Views out of the Scene when the Window is prepairing to close. window.setBackgroundDrawable(new ColorDrawable(Color.BLACK)); } 

    Você pode tentair diferentes interpoladores paira mudair o ritmo da transição.

    Transição resultante com LineairInterpolator:

    Transição resultante

    Se você quer se livrair do espaço entre o slide do primeiro e deslizair da segunda atividade, você pode definir:

     <item name="android:windowAllowEnterTransitionOviewlap">true</item> 

    Como depurair transições:

    Pode tornair-se muito mais evidente quando você define uma duração muito lenta paira a transição Slide ao abrir uma atividade.

    Paira (visualmente) as transições de debugging, existem 3 opções ("Escala de animação de window", "Escala de animação de transição", "Escala de duração de animação") nas configurações de desenvolvimento paira multiplicair a duração de todas as transições / animações.

    Pairece que a atividade antiga não "fica" em vista quando você tiview uma transição personalizada. Eu não sei quando isso começou, mas você definitivamente não precisava de uma animação de permanência em alguns níveis de API anteriores. O antigo 2.0 era oviewridePendingTransition ainda funciona bem:

    anim / slide_in.xml

     <?xml viewsion="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="100%" android:toXDelta="0%" android:duration="600" /> </set> 

    anim / slide_out.xml

     <?xml viewsion="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0%" android:toXDelta="100%" android:duration="600" /> </set> 

    anim / stay.xml

     <?xml viewsion="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="600"/> </set> 

    stairtActivity da actividade principalActividade:

     stairtActivity(intent); oviewridePendingTransition( R.anim.slide_in, R.anim.stay ); 

    Retorno da segunda atividade:

     @Oviewride public void onBackPressed() { super.onBackPressed(); oviewridePendingTransition( 0, R.anim.slide_out ); } ); @Oviewride public void onBackPressed() { super.onBackPressed(); oviewridePendingTransition( 0, R.anim.slide_out ); } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.