有没有办法在API <21(5.0 Lollipop)中做一个Material-style阴影?

Sup*_*tar 10 android shadow dropshadow material-design

材料设计非常强调"纸张"的隐喻.要做到这些,阴影是必不可少的.由于Material设计是一种哲学而不是API(尽管它被构建到L中),因此应该在任何地方(Windows窗体,HTML/CSS等)进行.我如何在Android API 14到20中执行此操作?

请注意,对于圆形和其他非方形形状,预制PNG实际上并不实用.

Eth*_*han 13

如果您不担心Lollipop之后的向后兼容性,可以直接在XML中设置高程属性

    android:elevation="10dp"
Run Code Online (Sandbox Code Playgroud)

否则,您必须使用support.v4.ViewCompat库在Java中进行设置.

    ViewCompat.setElevation(myView, 10);
Run Code Online (Sandbox Code Playgroud)

并将其添加到build.gradle中

    compile 'com.android.support:support-v4:21.+'
Run Code Online (Sandbox Code Playgroud)

http://developer.android.com/reference/android/support/v4/view/ViewCompat.html#setElevation(android.view.View,%20float)


Alc*_*ete 1

可以使用简单的 java 类在旧平台上模拟浮动操作按钮(带阴影)。

我在这里使用 Faiz Malkani 的版本: https ://github.com/FaizMalkani/FloatingActionButton

[请注意,为了使其与 Gingerbread 兼容,您需要对其代码中的动画和透明度调用进行一些 SDK 版本检查。]