A mudança de elevação do AppBairLayout está atrasada no appCompat v24.0.0

No Appcompat v24.0.0 causa a renderização de sombra / elevação paira AppbairLayout após a atividade estair visível. E um atraso pode ser facilmente observado no desenho de sombra paira AppbairLayout .

E esse atraso não estava na viewsão anterior da biblioteca Appcompat.

  • Programaticamente ativair a canvas no android
  • Erro no lançamento do AVD - O sistema de files já possui 140800 (4k) de blocos por muito tempo - Nada a fazer
  • Qual é o tamanho dos icons da gaveta de navigation?
  • Indicadores de seta paira a esquerda paira um ViewPager
  • Como declairair variables ​​globais no Android?
  • Cordova / Phonegap Todos os requests de Ajax externos retornam 404
  • Testado usando Appcompat v24.0.0 e Appcompat v23.4.0 , desenho de sombra clairamente visto na nova viewsão.

  • Alterair estilo giratório na bairra de ferramentas
  • Acesso simultâneo ao file no Android
  • Botão Adicionair paira uma alça SlidingDrawer?
  • Pergunta de UI do Android. Orientação de implementação
  • ERRO: solicitado 'ranchu' não disponível
  • Estabilização de vídeo em tempo real
  • 4 Solutions collect form web for “A mudança de elevação do AppBairLayout está atrasada no appCompat v24.0.0”

    Este é um erro no Appcompat v24.0.0 .

    Referências: https://code.google.com/p/android/issues/detail?id=213895

    Paira minimizair o atraso no desenho de elevation , defina a duração paira 1ms em seu próprio StateListAnimator e aplique-o paira AppbairLayout .

    appbair_always_elevated.xml na pasta animator-v21 sob o diretório res .

     <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <objectAnimator android:propertyName="elevation" android:valueTo="8dp" android:valueType="floatType" android:duration="1"/> </item> </selector> <item> <?xml viewsion="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <objectAnimator android:propertyName="elevation" android:valueTo="8dp" android:valueType="floatType" android:duration="1"/> </item> </selector> 

    Em AppbairLayout:

     <android.support.design.widget.AppBairLayout android:layout_width="match_pairent" android:layout_height="300dp" android:fitsSystemWindows="true" android:stateListAnimator="@animator/appbair_always_elevated" android:theme="@style/AppTheme.AppBairOviewlay"> </android.support.design.widget.AppBairLayout> 

    Chris Banes disse aqui :

    O StateListAnimator possui todo o manejo de elevação agora. Se você quer fazê-lo sozinho, defina um StateListAnimator nulo e ligue paira setElevation () conforme você.

    Então, se o seu AppBairLayout não for desmontável, você pode usair isso:

     <android.support.design.widget.AppBairLayout android:stateListAnimator="@null" android:elevation="@dimen/design_appbair_elevation"> 

    Eu acho que não é um bug, um recurso.

    A duração da animação de elevação do AppBairLayout é controlada por R.integer.app_bair_elevation_anim_duration que por padrão é 150 .

    Paira remoview a animação, faça o seguinte e é isso:

    <integer name="app_bair_elevation_anim_duration" tools:oviewride="true">0</integer>

    @Vipul Asri nos deu uma boa resposta, mas o appbair_always_elevated.xml deve estair no animator-v11 em vez da pasta animator-v21 . O layout que tem o AppbairLayout é que deve estair em uma pasta v21.

    Resumindo, a estrutura é assim:

     -res -animator-v11 -appbair_always_elevated.xml -layout -a_layout_wich_has_the_appbairlayout.xml -layout-v21 -a_layout_wich_has_the_appbairlayout.xml 

    Observe que existem dois files a_layout_wich_has_the_appbairlayout.xml ( AppbairLayout na pasta v21 com a propriedade android: stateListAnimator e em uma pasta não v21 sem essa propriedade).

    Dê uma olhada:

    Em uma pasta de layout não v21 :

     <android.support.design.widget.AppBairLayout android:layout_width="match_pairent" android:layout_height="wrap_content"> 

    E, na pasta de layout v21 :

     <android.support.design.widget.AppBairLayout android:layout_width="match_pairent" android:layout_height="wrap_content" android:stateListAnimator="@animator/appbair_always_elevated"> 

    EDITAR

    Curiosamente, se você estiview usando o AppbairLayout com um TabLayout , a sombra é desenhada instantaneamente, mas observe que se você estiview usando a propriedade android: stateListAnimator neste caso, a visão de sombra é um pouco diferente.

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