WHS GIS Engineer

Android开发常用技巧

2017-05-08
WHS

Android 开发技巧

UI/UE/UX

RippleDrawable - 波纹效果

  • 使用Android 提供的属性

android:foreground="?android:attr/selectableItemBackground"

扩散到View边界

android:foreground="?android:attr/selectableItemBackgroundBorderless

设置后,会从孩子往父亲找一个依附的色。如果View往上找的时候,亲生父亲没背景色,会继续向上查找直到最顶端。找到了最顶端的爷爷,这个时候才绘制。然而,如果父亲的兄弟又绘制了颜色,且盖住了最顶端的绘制,会导致看不到效果。如果有一定的透明度,结果就显而易见了。 特别注意: 当把硬件加速给关闭时,这个效果是没有的。 这是API 21的新属性,老版本无法使用.

  • 自定义
<!-- A green ripple drawn atop a black rectangle. -->
<ripple android:color="#ff00ff00">
    <item android:drawable="@android:color/black" />
</ripple>
 
<!-- A blue ripple drawn atop a drawable resource. -->
<ripple android:color="#ff0000ff">
    <item android:drawable="@drawable/my_drawable" />
</ripple>

android:color中是点击响应色,也是波纹扩散色。 item中是正常状态下的显示。

一般使用时会和原有的selector配合,原有的selector负责5.0以下显示效果, 新的selector内部含有ripple标签放在drawable-v21中,保证点击效果。


VectorDrawable使用

VectorDrawable优点
  • VectorDrawable图像可以自动进行适配,不需要通过分辨率来设置不同的图片Vector图像可以大幅度减少图像的体积。

  • svg图像导出工具方便,从而转换成Vector图像功能强大,前端已经广泛使用。

VectorDrawable使用

VectorDrawable—5.0

Databinding 中使用svg可能会出现找不到的问题 android:drawableLeft=”@{@drawable/ic_password}”

Databinding


Similar Posts

Comments