如何在 React Native 中禁用图像淡入淡出效果?

How to disable image fade in effect in React Native?

情况

问题

尝试次数

我设法通过用自定义 ViewGroupManager 包装我的 <Image /> 并在将图像添加到自定义 [=15] 之前通过反射将 ReactImageView.mFadeDuration 设置为零来防止淡入淡出动画=]. 编辑: 但这会在显示图像时增加明显的延迟:( 实际上没有延迟。

像这样:

public class NoFadeImageWrapper extends ViewGroup {
    public NoFadeImageWrapper(Context context) {
        super(context);
    }

    @Override
    public void onViewAdded(View child) {
        if (child instanceof ReactImageView) {
            ((ReactImageView) child).setFadeDuration(0);
            ReflectionUtils.setField(child, "mIsDirty", true);
        }
        super.onViewAdded(child);
    }
}

ReflectionUtils.setField 实施:

public class ReflectionUtils {
    public static void setField(Object obj, String name, Object value) {
        try {
            Field field = getField(obj.getClass(), name);
            if (field == null) {
                return;
            }
            field.setAccessible(true);
            field.set(obj, value);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

只需将 fadeDuration={0} 设置为 Image 组件,这没有记录

您可以查看here了解更多信息