React Native封装公用样式文件commonStyle
2017-11-01 本文已影响213人
光强_上海
前言
我们在开发UI界面的时候,很多地方需要按照UI的规范来给定样式。比如页面的背景颜色,分割线的高度、颜色,默认的文本颜色和字号等等。如果我们在开发UI时每次都是再去重新量下分割线的高度、颜色,每次取下页面的背景颜色值,这样无疑就是多做了很多重复而又无用的工作,降低了工作效率。我们完全可以把这些常用的规范统一成一个样式文件。这样每次取背景颜色直接从样式文件中获取,而不需要再去吸取颜色值。并且后期UI如果想换个背景颜色什么的,我们也可以做到一处修改,全局更换。
样式文件源码如下,同学们也可以直接下载commonStyle.js
文件,拖到项目中即可使用
commonStyle工具源码:https://github.com/guangqiang-liu/react-native-commonStyleSheet
/** 公共样式表 **/
import {Platform} from 'react-native'
export const commonStyle = {
/** color **/
// 常用颜色
red: '#FF0000',
orange: '#FFA500',
yellow: '#FFFF00',
green: '#00FF00',
cyan: '#00FFFF',
blue: '#0000FF',
purple: '#800080',
black: '#000',
white: '#FFF',
gray: '#808080',
drakGray: '#A9A9A9',
lightGray: '#D3D3D3',
tomato: '#FF6347',
PeachPuff: '#FFDAB9',
clear: 'transparent',
/** 主题色 **/
themeColor: '#e74c3c',
// 默认灰色字体颜色
textGrayColor: '#989898',
// 默认黑色字体颜色
textBlockColor: '#262626',
// 默认背景颜色
bgColor: '#E6E6E6',
// 默认分割线颜色
lineColor: '#E6E6E6',
// 默认placeholder颜色
placeholderColor: '#eee',
// borderColor
borderColor: '#808080',
// 导航title 颜色
navTitleColor: '#262626',
// 导航左item title color
navLeftTitleColor: '#333',
// 导航右item title color
navRightTitleColor: '#333',
navThemeColor: '#FEFEFE',
iconGray: '#989898',
iconBlack: '#262626',
/** space **/
// 上边距
marginTop: 10,
// 左边距
marginLeft: 10,
// 下边距
marginBotton: 10,
// 右边距
marginRight: 10,
// 内边距
padding: 10,
// 导航的leftItem的左间距
navMarginLeft: 15,
// 导航的rightItem的右间距
navMarginRight: 15,
/** width **/
// 导航栏左右按钮image宽度
navImageWidth: 25,
// 边框线宽度
borderWidth: 1,
// 分割线高度
lineWidth: 0.8,
/** height **/
// 导航栏的高度
navHeight: Platform.OS === 'ios' ? 64 : 56,
// 导航栏顶部的状态栏高度
navStatusBarHeight: Platform.OS === 'ios' ? 20 : 0,
// 导航栏除掉状态栏的高度
navContentHeight: Platform.OS === 'ios' ? 44 : 56,
// tabBar的高度
tabBar: 49,
// 底部按钮高度
bottonBtnHeight: 44,
// 通用列表cell高度
cellHeight: 44,
// 导航栏左右按钮image高度
navImageHeight: 25,
/** font **/
// 默认文字字体
textFont: 14,
// 默认按钮文字字体
btnFont: 15,
// 导航title字体
navTitleFont: 17,
// tabBar文字字体
barBarTitleFont: 12,
// 占位符的默认字体大小
placeholderFont: 13,
// 导航左按钮的字体
navRightTitleFont: 15,
// 导航右按钮字体
navLeftTitleFont: 15,
/** opacity **/
// mask
modalOpacity: 0.3,
// touchableOpacity
taOpacity: 0.1,
/** 定位 **/
absolute: 'absolute',
/** flex **/
around: 'space-around',
between: 'space-between',
center: 'center',
row: 'row'
}
福利时间
- 作者React Native开源项目OneM地址(按照企业开发标准搭建框架设计开发):https://github.com/guangqiang-liu/OneM (欢迎小伙伴们 star)
- 作者简书主页:包含50多篇RN开发相关的技术文章http://www.jianshu.com/u/023338566ca5 (欢迎小伙伴们:多多关注,多多点赞)
- 作者React Native QQ技术交流群:620792950 欢迎小伙伴进群交流学习
- 友情提示:在开发中有遇到RN相关的技术问题,欢迎小伙伴加入交流群(620792950),在群里提问、互相交流学习。交流群也定期更新最新的RN学习资料给大家,谢谢支持!