layoutAnimation 在两个视图之间切换时会在 Android 上导致额外的蓝色背景
Posted
技术标签:
【中文标题】layoutAnimation 在两个视图之间切换时会在 Android 上导致额外的蓝色背景【英文标题】:layoutAnimation causes extra blue background on Android while switching between two views 【发布时间】:2021-02-03 08:53:11 【问题描述】:我在一个函数组件中使用 layoutAnimation 来使它看起来平滑。它在 ios 上运行良好,但在 android 上,当我使用 layoutAnimation 从另一个视图切换到视图时,它会显示额外的蓝色透明背景。
这是我的代码
const UIManager = NativeModules;
UIManager.setLayoutAnimationEnabledExperimental &&
UIManager.setLayoutAnimationEnabledExperimental(true);
const myFunction = (props) =>
...
useEffect(() =>
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut);
, [props.info]); // info is the component data
...
有人遇到同样的问题吗?
非常感谢。
【问题讨论】:
【参考方案1】:Android 上的 LayoutAnimation 是实验性的,因此遇到异常行为并不罕见。我建议使用 React Native Animated API 或 react-native-reanimated。 但是,您的描述表明您可能对预设的不透明度有疑问。我不确定您要制作什么动画,但如果您不需要动画中的不透明度,您可能需要尝试以下代码示例。
LayoutAnimation.configureNext(
duration: 300,
update:
type: 'easeInEaseOut',
,
);
【讨论】:
以上是关于layoutAnimation 在两个视图之间切换时会在 Android 上导致额外的蓝色背景的主要内容,如果未能解决你的问题,请参考以下文章
是否有 LayoutAnimation.Types 和 LayoutAnimation.Properties 的可用选项列表?
在两个视图之间切换以及从纵向切换到横向时出现 iPad 方向问题,反之亦然