如何在React Native中在整个应用程序(如每个屏幕)的屏幕底部显示自定义视图

时间:2019-06-26 06:13:56

标签: react-native audio-player react-native-flatlist

我正在开发本机项目。我是本机反应的新手。 我有一个屏幕,显示平面列表,在该平面列表中,每个单元都有一些音频URL。用户点击URL后,我们必须在屏幕底部显示音频播放器。而且我们必须显示诸如播放/暂停/停止,进度条,背景墙纸和曲目标题之类的控件。

此外,如果用户导航到其他屏幕,并且如果音频播放器播放音频,则我必须在每个屏幕上都维护此底部的音频播放器。

我基本上来自iOS开发,在iOS中我们知道可以在应用程序委托类中定义此底部视图,但是,在React native中,如何实现此功能以及如何保持这种音频播放/停止状态? 有什么建议吗?

1 个答案:

答案 0 :(得分:2)

考虑到您正在使用React Navigation,一种方法可能是在您的应用容器之外呈现组件。像这样:

const Tabs = createBottomTabNavigator(
    ...
);

const Navigation = createAppContainer(Tabs);

export default class App extends React.Component {

    render() {
        return (
            <View>
                <Navigation />
                <AudioPlayer/>
            </View>
        );
    }
}

<AudioPlayer/>代表屏幕底部的播放,暂停等。

然后,您可以根据传递到应用容器的屏幕道具或通过redux来控制(显示/隐藏/更新状态/等)此组件。