当前位置: 首页 > 知识库问答 >
问题:

如何控制波纹淡入和淡出持续时间?

阳宾实
2023-03-14

我编写了一个具有连锁反应的android代码,添加了:

android:background="?attr/selectableItemBackground"

我需要调整一下。我知道如何改变波纹颜色。但是你认为下面的内容可以调整吗?

  • 点击(单击并松开),按颜色显示常规,无波纹。
  • 握住手指较长时-显示波纹
  • 开机后6毫秒后开始淡出

我知道添加一个可绘制的选择器可以控制更多状态,但我认为它不能控制持续时间。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_pressed="true">
    <shape android:shape="oval">
      <solid android:color="@color/grey200_alpha_10"/>
    </shape>
  </item>
  <item android:state_focused="true">
    <shape android:shape="oval">
      <solid android:color="@color/grey200_alpha_12"/>
    </shape>
  </item>
  <item android:state_hovered="true">
    <shape android:shape="oval">
      <solid android:color="@color/grey200_alpha_4"/>
    </shape>
  </item>
</selector>

可能吗?

共有1个答案

邰钟展
2023-03-14

如果你想继续使用github库,那么这个可以帮助你

https://github.com/traex/RippleEffect

它有一个名为app:rv_rippleDuration的属性,可以让您控制持续时间。它还有许多其他属性。必须试一试。

编辑

这是Sunny在StackOverflow上给出的一个很好的答案

/platforms/android-14/data/res/themes下。xml您可以找到@android:integer/config_mediumAnimTime用于要调整的持续时间的源代码。

现在,你可以创建自己的自定义绘图文件,并根据你的要求改变时间。

<selector xmlns:android="http://schemas.android.com/apk/res/android"
      android:exitFadeDuration="@android:integer/config_mediumAnimTime">

<item android:state_window_focused="false" android:drawable="@color/transparent" />

<!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
<item android:state_focused="true"  android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true"  android:state_enabled="false"                              android:drawable="@drawable/list_selector_background_disabled" />
<item android:state_focused="true"                                android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="false"                               android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" />
<item android:state_focused="true"                                                             android:drawable="@drawable/list_selector_background_focused" />
<item android:drawable="@color/transparent" />
 类似资料:
  • 问题内容: 我想淡入淡出带有UIBlurEffect的UIVisualEffectsView: 我在a调用的函数中使用普通动画来使其淡入,对于淡出也相同,但&: 现在,在两个方向上褪色的工作,但衰落时,它给我一个错误 了 : 被要求动画其不透明度。这将导致效果显示为残破,直到不透明度恢复到1。 题 如何成功地淡入和淡出而不 破坏 它并使其褪色? 注意 我试图将其放进去并逐渐消失,但没有成功 问题答

  • 主要内容:实例,jQuery Fading 方法,jQuery fadeIn() 方法,实例,jQuery fadeOut() 方法,实例,jQuery fadeToggle() 方法,实例,jQuery fadeTo() 方法,实例通过 jQuery,您可以实现元素的淡入淡出效果。 因为时间是宝贵的,我们提供快捷方便的学习方法。 在小牛知识库,你可以学习需要的知识。 实例 jQuery fadeIn() 演示 jQuery fadeIn() 方法。 jQuery fadeOut() 演示 jQ

  • 提前谢谢你。

  • 问题内容: 我想让HTML div标签淡入淡出。 我有一些淡出的代码,但是当我淡入时,div的不透明度保持在0.1且不会增加。 我在做什么错,淡入淡出元素的最佳方法是什么? 问题答案: 好,我已经解决了 应该代替 与相同 代替 因为不透明度值存储为字符串,而不是浮点数。我仍然不确定为什么添加成功了。

  • 本文向大家介绍js如何实现淡入淡出效果,包括了js如何实现淡入淡出效果的使用技巧和注意事项,需要的朋友参考一下 淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装,有用得着的朋友,可以直接使用。代码中另附有一个设置元素透明度的方法, 是按IE规则(0~100)设置, 若改成标准设置方法(0.00~1.00),,下

  • 问题内容: ..当前它具有上/下滚动效果,但是我希望背景随着淡入淡出效果而改变,我应该在CSS中更改什么? 谢谢! 问题答案: 您无法在两个背景图片之间切换,因为浏览器无法知道您想要插入的内容。如您所知,您可以转换背景位置。如果您希望图像在鼠标悬停时淡入,我认为通过CSS过渡实现此效果的最佳方法是将图像放在包含元素上,然后在链接本身上为背景颜色设置动画: