Vip*_*sri 9 android android-appcompat android-elevation
在Appcompat v24.0.0中,在Activity可见之后导致阴影/高程渲染AppbarLayout.在阴影绘图中可以很容易地看到滞后AppbarLayout.
以前的Appcompat库版本中没有这种延迟.
使用Appcompat v24.0.0和Appcompat v23.4.0进行测试,在新版本中清晰显示阴影图.
Vip*_*sri 21
这是一个错误Appcompat v24.0.0.
参考文献:https://code.google.com/p/android/issues/detail?id = 213895
为了在最小延迟elevation图,时间设置为1ms的在自己StateListAnimator和运用它AppbarLayout.
appbar_always_elevated.xml在动画-V21夹下资源目录.
<?xml version="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>
Run Code Online (Sandbox Code Playgroud)
在AppbarLayout中:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:fitsSystemWindows="true"
android:stateListAnimator="@animator/appbar_always_elevated"
android:theme="@style/AppTheme.AppBarOverlay">
</android.support.design.widget.AppBarLayout>
Run Code Online (Sandbox Code Playgroud)
Eug*_*nec 15
克里斯巴恩斯在这里说:
StateListAnimator现在拥有所有高程处理.如果您想自己动手,请设置null StateListAnimator并根据需要调用setElevation().
所以,如果你AppBarLayout是不可折叠的,你可以这样做:
<android.support.design.widget.AppBarLayout
android:stateListAnimator="@null"
android:elevation="@dimen/design_appbar_elevation">
Run Code Online (Sandbox Code Playgroud)
Yoo*_*Yoo 10
我想这不是一个bug,一个功能.
AppBarLayout的高程动画持续时间R.integer.app_bar_elevation_anim_duration由默认值控制150.
要删除动画,只需执行以下操作即可:
<integer name="app_bar_elevation_anim_duration" tools:override="true">0</integer>
| 归档时间: |
|
| 查看次数: |
5479 次 |
| 最近记录: |