【问题标题】:react-native/android: screen content becomes transparent on navigationreact-native/android:屏幕内容在导航时变得透明
【发布时间】:2017-10-30 23:49:41
【问题描述】:

我有一个问题,当我导航到一个新屏幕时,我的第一个屏幕的内容(更像是它的一部分)变成半透明的。

所以这是初始屏幕:

当导航发生时,我会看到如下内容:

这不是很明显,但您可以在导航的第一个屏幕上看到一个绿色阴影。之前它是白色的,但是当我更改我的主要活动使用的主题的背景颜色时,它发生了变化。

我不介意阴影/色调和奇怪的透明度一样。在其他一些屏幕上,情况更糟(如果需要,可以发布更多屏幕截图)。

如果有任何兴趣,我会使用react-native-navigation 中的StackNavigator。 我以前做过一个应用程序,但从未见过这种行为,尽管我确实观察到在我的另一个应用程序中,当导航时,屏幕似乎沿着屏幕的整个宽度滑动,与这个新应用程序相比,新页面似乎在滑动上一个。

更新:我的一个没有此问题的应用程序不使用此导航器。它使用了react-native提供的导航器。

【问题讨论】:

    标签: android react-native


    【解决方案1】:

    相信您需要将cardStyle 更改为StackNavigator。您可能需要为您的过渡配置和 CardStyle 设置一些设置来实现您想要的。

    我目前没有要测试的项目,但是当你定义你的堆栈时,这里是你想要改变它的地方:

    const MainStack = StackNavigator(
    {
        HomeScreen: { screen: HomeScreen },
        ...
    },
    {
        stateName: 'MainStack',
        initialRouteName: 'HomeScreen',
        cardStyle: {
            shadowOpacity: 0,    <------- DEFINE YOUR CARD STYLES HERE
        },
    }
    );
    

    Here's a link to the relevant code 在 CardStack 源代码中,您可以看到它首先从当前转换配置(第 434-436 行)获取样式,然后是 cardStyle 属性(第 446 行)

    如果您需要一些帮助来确定要传入的样式,请告诉我,我可以设置一个测试项目来提供帮助。 我会考虑设置 opacity: 1 看看是否能实现您的目标。

    【讨论】:

    • 似乎不透明度与我的问题有关。我将 cardStyle 设置为 {opacity : 1}。诡异的影子消失了。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多