-
Notifications
You must be signed in to change notification settings - Fork 2.7k
QMUIAlphaViewHelper
chanthuang edited this page Feb 25, 2019
·
1 revision
QMUIAlphaViewHelper
是一个工具类,通过结合该工具类,View 能支持在点击(pressed)和不可用(disabled)时改变整体的 alpha 值。
方法名 | 描述 |
---|---|
setChangeAlphaWhenPress(boolean changeAlphaWhenPress) | 设置是否要在 pressed 时改变透明度 |
setChangeAlphaWhenDisabled(boolean changeAlphaWhenPress) | 设置是否要在 disabled 时改变透明度 |
onPressedChanged(View current, boolean pressed) | 通知 helper 更新状态,在需要支持 alpha 的 View 的 setPressed(boolean) 中调用 |
onEnabledChanged(View current, boolean enabled) | 通知 helper 更新状态,在需要支持 alpha 的 View 的 setEnabled(boolean) 中调用 |
通过以下简单的步骤,可以使任何 View 支持 alpha 功能。
- 在 View 中添加成员变量 QMUIAlphaViewHelper
- 使 View 实现
QMUIAlphaWidgetInf
接口,其中的setChangeAlphaWhen***
方法里直接调用步骤1里的QMUIAlphaViewHelper
的相应方法即可。 - 在 View 的
setPressed(boolean pressed)
和setEnabled(boolean enabled)
方法中,调用步骤1里的QMUIAlphaViewHelper
的onPressedChanged(View current, boolean pressed)
和onEnabledChanged(View current, boolean enabled)
方法。
通过在 App 的 theme 中覆盖以下属性,可在全局范围内配置 pressed 和 disabled 的 alpha 值:
<!-- 在 App 的 theme 中添加 -->
<item name="qmui_alpha_pressed">0.6</item>
<item name="qmui_alpha_disabled">0.6</item>