react-native - 反应原生底部栏高度
问题描述
首先,我不确定写为底部栏是否正确。
无论如何,我将在底部放置一个按钮,但由于电话原因,它无法按预期工作。
第一个是iphone 11,第二个是iphone 8。
所以我想从底部留出一些空隙,第一张图片看起来不错。这就是我想要的,但第二张图片不是。(注意:我使用的是 SafeAreaView)
我已经附上了组件的代码。(黄色按钮)
import React, {memo} from 'react';
import {TouchableOpacity, Image, StyleSheet} from 'react-native';
const NextButton = ({goNext, ...props}) => (
<TouchableOpacity onPress={goNext} style={[styles.container, props]}>
<Image style={styles.image} source={require('../assets/arrow_next.png')} />
</TouchableOpacity>
);
const styles = StyleSheet.create({
container: {
position: 'absolute',
bottom: 0,
right: 0,
},
image: {
width: 48,
height: 48,
backgroundColor: '#d0cf22',
borderRadius: 10,
},
});
export default memo(NextButton);
解决方案
添加到@DevLover 答案,因为他是完全正确的。对于适用的屏幕,我通常可能会使用类似于下面的方法。
import { useSafeAreaInsets } from 'react-native-safe-area-context';
其中我可以在组件中使用插图
const insets = useSafeAreaInsets();
并使用 . 检查底部插图insets.bottom
。
推荐阅读
- nginx - 无法通过 Vagrant 私网和端口转发(通过域名)访问 Flask 应用
- swift - UIViewController 单击按钮时设置新的根视图
- macos - 如何使用 Apple 的安全框架获取证书的有效期?
- javascript - 如何在 mongo db 中获取所有数字类型的属性?
- vue.js - Vue Slick Carousel 无法将图像作为链接
- c# - JObject JSON 内部属性排序
- logic - Verilog 测试台输出是 16 位进位加法器上的 x 和 z
- mysql - 从行中减去一个数字,直到数字结束为零
- c++ - Ncurses wrefresh 不显示窗口边框
- gcc - 为什么某些编译器(如 gcc)要求您激活优化?为什么不默认运行它们?