从state_pressed转换为state_activated时如何避免闪烁效应

时间:2015-11-21 15:47:28

标签: android

最近,我刚刚为.then - https://github.com/yccheok/RecyclerViewTutorial

实施了操作模式

我对视觉反馈有两个基本要求。

  1. 当用户点击该项目时(不管他决定稍后点击/选择该项目),需要有某种视觉反馈。这可以通过RecyclerView
  2. 来实现
  3. <item android:state_pressed="true" android:drawable="@drawable/home_menu_row_color_holo_dark" />处于动作模式时,当用户选择项目时,需要某种视觉突出显示。这可以通过RecyclerView
  4. 来实现

    但是,在动作模式中执行选择时,我们会遇到不必要的闪烁效果。这是因为。

    1. 当手指按下时,state_pressed = true,显示橙色。
    2. 手指松开时,state_pressed = true,显示白色。 (白色是正常颜色)
    3. 代码执行<item android:state_activated="true" android:drawable="@drawable/orange" />。 state_activated = true。橙色显示。
    4. 由于颜色过渡为view.setActivated(true) - > orange - &gt; white,它会导致闪烁效果,如视频所示 - https://youtu.be/9qdmQrsAcu0

      我想知道,有没有适当的技术来避免这种闪烁效应?有一些建议 - listview: how to handle delay between state pressed and activated但它确实没有用。

      p / s如果您观看视频,您会发现当state_activated从true转换为false时,颜色似乎不会立即从橙色转换为白色。似乎有某种动画。我可以知道为什么会这样吗?

0 个答案:

没有答案