React native开发iOS与Android兼容适配常见问题

页面样式

1.border引发的样式差异

php 复制代码
 <TouchableOpacity style={styles.saveButton}>
    <Text onPress={handleSave} style={styles.saveButtonText}>
        {strings('saveBtn')}
    </Text>
 </TouchableOpacity>
 const styles = StyleSheet.create({
    saveButtonText: {
        fontSize: 16,
        color: AppColors.white_100,
        paddingHorizontal: 40,
        paddingVertical: 7,
        backgroundColor: AppColors.blue_btn,
        borderRadius: 18,
        overflow: 'hidden',//这是关键代码,没有这个属性的设置在iOS的展示中按钮不会展示圆角
    }
});

2.FlatList引发的样式差异

ini 复制代码
<FlatList
   ....
    removeClippedSubviews={false}//这是关键代码,没有这个属性的设置在iOS的展示中列表需要下拉下才会展示数据
    ...
/>

3.使用弹性布局或者百分比适配小屏手机中的UI展示

事件行为

1.input的处理

javascript 复制代码
import {  KeyboardAvoidingView } from 'react-native';
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';
....
 return Platform.OS === 'ios' ? (
            <KeyboardAvoidingView behavior={Platform.OS === 'ios' ? 'padding' : 'height'}>
            //你的input
            </KeyboardAvoidingView>
        ) : (
            <View>
                <KeyboardAwareScrollView keyboardShouldPersistTaps={'handled'}>
                   //你的input
                </KeyboardAwareScrollView>
            </View>
        );

如果不使用以上的包裹使用的Input使用时部分机型会有键盘遮盖input框的问题出现

相关推荐
烬羽8 小时前
AI Coding 全流程实战:从需求到上线,我用 AI 开发了一个 NPM 包
前端·react.js·ai编程
前进的程序员8 小时前
Codex破局:前端组件秒级生成|提速React/Vue开发,可复用提示词+实战调试经验
前端·vue.js·react.js·codex
YHHLAI12 小时前
从「跑分」到「干活」:Benchmark 与 GPT 5.6 的两种叙事
大数据·前端·人工智能·react.js·前端框架
码云之上12 小时前
从Popup类组件看定位参考系陷阱与设计取舍
前端·react.js·scss
FungLeo13 小时前
React 管理后台实战 · 列表里突然出现一堆空白行?PIPL 擦除后前端怎么处理才不露馅
前端·react.js·状态模式·pipl
Virony14 小时前
React基础知识
前端·react.js·前端框架
liangshanbo121514 小时前
React Hooks 为什么不能在条件分支/循环中调用?
前端·react.js·前端框架
嘟嘟071714 小时前
一个微信公众号 Markdown 渲染组件,如何用 SDD 把需求、架构、任务一次写清
react.js·markdown
YHHLAI14 小时前
React `useState` 深入浅出
前端·javascript·react.js