内容简介:ios 端完成, 你可以试着修改系统的文字大小实验在 MainApplication.java 文件中加入如下代码:android 端也完成了
- 新增addCustomProps.js (位置随意放到项目目录, 只要路径引用的到) 下面是 addCustomProps.js 的内容
/** * 添加组件的的自定义属性 * @param WrapComponent 组件 * @param customProps 默认属性 */ export default function addCustomProps(WrapComponent, customProps) { const componentRender = WrapComponent.prototype.render const componentDefaultProps = WrapComponent.prototype.constructor.defaultProps WrapComponent.prototype.constructor.defaultProps = { ...componentDefaultProps, ...customProps } WrapComponent.prototype.render = function render() { const oldProps = this.props this.props = { ...this.props, style: [customProps.style, oldProps.style] } return componentRender.apply(this) } } 复制代码
- 在你app的入口文件里加上如下内容 (:warning:注意 是入口文件 ,否则可能不起作用)
import React, { Component } from 'react' import { Text, TextInput } from 'react-native' // 处理iOS系统文字 addCustomProps(Text, {allowFontScaling: false}); addCustomProps(TextInput, {allowFontScaling: false}); 复制代码
ios 端完成, 你可以试着修改系统的文字大小实验
android 处理方法如下 :
在 MainApplication.java 文件中加入如下代码:
import android.content.res.Configuration; import android.content.res.Resources; @Override public void onConfigurationChanged(Configuration newConfig) { if (newConfig.fontScale != 1) // 非默认值 getResources(); super.onConfigurationChanged(newConfig); } @Override public Resources getResources() { Resources res = super.getResources(); if (res.getConfiguration().fontScale != 1) { // 非默认值 Configuration newConfig = new Configuration(); newConfig.setToDefaults(); // 设置默认 res.updateConfiguration(newConfig, res.getDisplayMetrics()); } return res; } 复制代码
android 端也完成了
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Designer Idea
梁景红 / 电子工业出版社 / 2006年 / ¥55.00
这是一本以“目的、信息、设计、创意”作为根脉的关于网页视觉的书籍,畅谈的话题从策划到编辑再到设计,从而讨论“我们要建立怎样的站点,并以何种形式完成它”的问题。 全书共分四个部分,分别是网站建设目的,网站信息内容,页面形式设计,网页创作构思。 四部分有机地结合,形成一个统一的整体。“目的”部分以建设网站的目的为主,带领设计师从建站目的的角度,探讨如何抓住首要问题;如何建立网站雏形;如何打开狭隘的、局......一起来看看 《Web Designer Idea》 这本书的介绍吧!