Skip to content

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 支持在点击(pressed)和不可用(disabled)时改变 alpha

通过以下简单的步骤,可以使任何 View 支持 alpha 功能。

  1. 在 View 中添加成员变量 QMUIAlphaViewHelper
  2. 使 View 实现 QMUIAlphaWidgetInf 接口,其中的 setChangeAlphaWhen*** 方法里直接调用步骤1里的 QMUIAlphaViewHelper 的相应方法即可。
  3. 在 View 的 setPressed(boolean pressed)setEnabled(boolean enabled) 方法中,调用步骤1里的 QMUIAlphaViewHelperonPressedChanged(View current, boolean pressed)onEnabledChanged(View current, boolean enabled) 方法。

可参考 QMUIAlphaTextView

全局配置 pressed 和 disabled 时的 alpha 值

通过在 App 的 theme 中覆盖以下属性,可在全局范围内配置 pressed 和 disabled 的 alpha 值:

<!-- 在 App 的 theme 中添加 -->
<item name="qmui_alpha_pressed">0.6</item>
<item name="qmui_alpha_disabled">0.6</item>

相关类