react-native - 反应原生部分模态
问题描述
我正在使用反应导航开发一个反应原生应用程序。
当按下底部选项卡中的一个选项卡时,我想添加一个覆盖 30% 屏幕的部分模式,类似于 YouTube 应用中的“+”选项卡:
我尝试使用 react-native Modal 组件,但是
- 我在从底部选项卡激活它时遇到问题
- 它覆盖了整个屏幕
有什么建议么?
谢谢..
解决方案
要回答您的问题 100% 正确,我需要了解有关您的项目的更多详细信息,但是,我可以尝试解释您的逻辑如何在没有任何库的情况下执行此操作。您可以创建另一个名为“Start”的组件,您将在导航器上方放置绝对位置的 Modal。您可以创建一个位于导航器上方的 Modal:
export const Start(){
return(
<View style={{flex:1}}>
<Modal>
<View/>
</Modal>
<NavigatorComponent/>
</View>
)
}
这将起作用,因为当您将一个具有绝对位置的组件放在另一个组件之上时,该组件将位于下方组件的前面。在您的情况下,将停留在包括 TabBar 在内的所有内容的前面。对于模态框只有 30% 的高度,您只需在其样式中添加属性 height: '30%'。
在您的应用程序的初始组件(通常是 index.js 文件)中,您只需返回新的 Start 组件。
我希望你喜欢我的回答。拜托,如果你有更多的问题,你可以问。等待您的反馈意见 :)。
推荐阅读
- bash - 如何记录用于启动 bash 脚本的命令?
- kubernetes - Kubernetes 主机节点是否应该能够访问集群中运行的服务?
- linux - 未使用的 Docker 容器卡在 Removal in Progress 状态。设备或资源繁忙
- javascript - 带有 Angular 应用程序的 Arcgis API for JS(ES 模块)未显示附加点
- c++ - 可以在模板类中实现递归可变参数模板函数吗?
- php - PHP 启动错误:无法加载动态库 'solr.so'
- laravel - 关系上的 MorphMany 没有得到 with()
- javascript - 加载本地html文件时可以执行脚本吗?
- google-cloud-platform - 使用 GCP DLP 和 DataFusion,找不到模板
- angular - 使用角度库时在 NodeInjector 中找不到 NgControl 提供程序