• react native 项目安卓bug小结


    1. 这个人民币符号¥在华为手机上容易显示的少一横,用这个¥就没问题,最好写成固定变量封装在某文件中,作为变量来引用。
    2. 在Android上指定Roboto字库,在OPPO、一加机型上字符被截断。对应issue跳转
    所以需要对Text标签进行处理一下。内置includeFontPadding属性,去掉Text在Android平台上多余的留白;
    import React, {Component} from 'react';
    import {Platform, StyleSheet, Text} from 'react-native';
    
    const defaultFontFamily = {
        ...Platform.select({
            android: {fontFamily: 'Roboto'}
        })
    };
    
    export default class ZTText extends Component {
        constructor(props) {
            super(props);
        }
    
        render() {
            let myStyle = {includeFontPadding: false}
            if (this.props.style) {
                let tempStyle = this.props.style;
                if (tempStyle.constructor == Number) {// 处理StyleSheet的样式
                    tempStyle = StyleSheet.flatten(tempStyle);
                }
    
                if (tempStyle.constructor == Array) {
                    tempStyle.forEach(styleInfo => {
                        let tempStyleInfo = styleInfo;
                        if (styleInfo.constructor == Number) {// 处理StyleSheet的样式
                            tempStyleInfo = StyleSheet.flatten(tempStyleInfo);
                        }
                        myStyle = {...myStyle, ...tempStyleInfo};
                    });
                } else {
                    myStyle = {...myStyle, ...tempStyle};
                }
            }
    
            let mergeStyle = {...defaultFontFamily, ...myStyle};
            let myProps = {...this.props, style: mergeStyle};
    
            return (< Text {...myProps}/>);
        }
    }
    
    3. 华为P30,P40以及一加手机,bug描述:A页面跳到B页面,B页面某块内容会闪烁不停,或者被白色的块覆盖住,滑动或点击可能就没白色块了。如果是C页面跳到B页面,可能就一切正常。
    这个bug碰见好几次了,令人头疼不已。解释下原因吧:A页面有圆角的ui,所以使用了borderRadius配合overflow:'hidden'。这两个属性正常情况没问题,如果内容真的超过了外面包裹的组件,才会出发layout的overflow机制,然后B页面也有圆角效果,所以A页面圆角区域真正触发了overflow:hidden,跳转到B页面后就会闪烁。具体原因难解释。
    解决方法:把overflow:hidden注释掉你就会发现不会闪烁了,但是这样就没圆角效果了,ued可能不同意,所以最终方案就是把圆角用两个图片来做,通过定位来盖上去。
  • 相关阅读:
    配置phpmyadmin使登录时可填写IP管理多台MySQL 连接多个数据库 自动登录
    PHP: 深入pack/unpack 字节序
    QQWry.dat 数据写入
    apache 配置order allow deny讲解
    Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen
    jQuery事件之on()方法绑定多个选择器,多个事件
    centos安装zendstudio centos系统
    apache常见错误汇总
    apache配置文件
    Linux中如何让命令在后台运行
  • 原文地址:https://www.cnblogs.com/hjj2ldq/p/13025277.html
Copyright © 2020-2023  润新知