Der*_*rek 1 android android-support-library material-design
更新支持库后,我试图在导航抽屉上设置阴影,但由于某种原因,没有任何效果,我很困惑。
我遇到了这个问题,但它的解决方案是仅使用 setElevation ,这对我来说也不起作用:https://code.google.com/p/android/issues/detail ?id=184434
确实没有太多代码可发布,但以下是我所说的供参考:
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.LOLLIPOP) {
mDrawerLayout.setDrawerElevation(25f);
} else {
mDrawerLayout.setDrawerShadow(R.drawable.left_drawer_shadow, GravityCompat.START);
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 ScrimInsetsFrameLayout 但这不应该导致问题 AFAIKT。
有任何想法吗?
小智 5
可能发生了什么:
由于支持 lib 23 v21+ 设备,在这种情况下会忽略自定义绘图。使用本机内置的高程阴影。参见:本期
但问题在于:透明元素没有阴影。
默认情况下,高程阴影是从视图背景轮廓绘制的。如果视图没有背景,则不会显示阴影。
如果您的视图没有自己的背景,请使用轮廓提供程序,例如:
android:outlineProvider="bounds"
Run Code Online (Sandbox Code Playgroud)
应该可以解决问题。该文档可以在此处找到ViewOutlineProvider。简而言之:
视图构建其轮廓的接口,用于阴影投射和剪切。
一些更多信息和深入解释在这里:Android“elevation”not shown ashadow
| 归档时间: |
|
| 查看次数: |
1762 次 |
| 最近记录: |