React-Native Android: 如何更改ListView“滚动结束”动画的颜色?

7
如何更改动画的颜色?

enter image description here


1
这种颜色取决于您当前的“主题”。不过我不确定React。 - Droidman
5个回答

10

颜色基于你的AppTheme中的accentColor

要更改它,请将你的AppTheme(通常在res/values/styles.xml中)更改为:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">#F00</item>   <-- change to color
    <!-- Status Bar color -->
    <item name="colorPrimaryDark">#000</item>
    <!-- Details color -->
    <item name="colorAccent">#000</item>
</style>

请注意,这是一个全局应用程序更改,每个滚动视图反弹动画都会具有此颜色。


3

要仅更改溢出动画颜色,请使用android:colorEdgeEffect。否则,它将从AppTheme中的colorPrimary继承。

应将接受的答案更改为指定colorPrimary而不是colorAccent

请参见此答案:android lollipop scrollview edge effect color


1
这不能应用于每个<ScrollView>,而且它不是特定于React Native的,对吗? - Noitidart
感谢Grey与我们RN开发者分享这些信息,我相信它会帮助我们朝着正确的方向前进。 - Noitidart

0
将此代码放入 android/app/src/res/values/styles.xml 文件中。
<item name="android:colorEdgeEffect">#E53644</item>

0

我正在使用Expo托管工作流+React Native Paper与Material UI v3进行编程,调试时“涟漪”的颜色是紫色。

但幸运的是,当我在Google Play商店上测试时,它基于主要颜色(或主要容器颜色)。

PS:我曾经遇到过类似的问题,比如对话框按钮的颜色和应用程序图标显示不正确。


0

如果有人正在使用Expo托管应用程序,那么目前Expo不支持它,但是有一种解决方法。

您需要执行expo eject -> 转换为{{link1:裸机工作流程}}。然后按照{{link2:上述}}在android / app / src / res / values /styles.xml 中添加 <item name="android:colorEdgeEffect">#E53644</item>.

现在最糟糕的部分花了我几个小时才发现 - 默认生成了AppThemeTheme.App.SplashScreen两个主题,直到我将其添加到闪屏主题才起作用:/。 为了保险起见,我将其添加到了两个主题中。请注意,仅当您运行特定于Android的本机构建npm run android时,此特定更改才会生效,请阅读this了解更多信息。


2022年使用Expo托管应用程序有任何更新吗?很想知道。 - Kayee
1
https://dev59.com/sMPra4cB1Zd3GeqPsO2v#72384994 - Kayee
1
@Kayee,我很高兴他们增加了对此的支持。谢谢你分享! :) - aleksandarbos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接