如何在本地原生Android

时间:2018-12-28 03:10:30

标签: android react-native

过去,我是本机编写的一些Android应用程序,但我发现默认像素格式经常会导致条纹(我相信,有时甚至会是RGBA_565)。我现在才刚刚开始学习本机反应,并且发现了类似的问题。至少在我的情况下,React Native BackgroundImages似乎遭受了色带的困扰。

我已经阅读了一些有关ReactActivityDelegate的内容,但是无法找到一种通过委托方法设置像素格式的方法。我在getWindow().setFormat(PixelFormat.RGBA_8888)中尝试过onAttachedToWindow,但似乎没有任何效果,至少在ReactActivity中没有效果。

我已将BackgroundImage定义为<ImageBackground source={require('./my_img.png')} resizeMode='cover' style={styles.container}>...,但是生成的图像具有明显的色带,如下所示

image

与原始图像original image进行比较,供参考,我在Arch Linux上模拟了Pixel 2 XL,这就是图像中反映的内容。

由于不推荐使用Drawable.setDither(boolean)并且该属性现在被忽略,据我所知,React Native内容视图未绘制在SurfaceView上,从该视图可以访问SurfaceHolder并定义PixelFormat,我是不知道如何强制采用RGBA_8888像素格式或以任何其他方式消除色带。

在没有显式定义PixelFormat的情况下,会出现色带现象,但是鉴于对本机代码的访问有限,我不知道如何为React Native Android应用程序定义PixelFormat。有什么想法吗?

0 个答案:

没有答案