赞
踩
对React-Native的学习,从熟悉基本控件开始。
转发:https://www.cnblogs.com/Hakim/p/5865519.html
属性方法
序号 | 名称 | 属性Or方法 | 类型 | 说明 |
1 | accessibilityLabel | 属性 | string | |
2 | accessible | 属性 | bool | 当为true时,表示该元素是可以进行访问,
默认情况下所有可触摸的元素控件都是可以访问的 |
3 | onAccessibilityTap | 方法 | function | 该当accessible为true的时候并且用户对控件View做了一个Tap(轻轻的触摸或者点击)的手势 |
4 | onLayout | 方法 | function | 当组件的布局发生变动的时候,会自动调用下面的方法
:{nativeEvent: { layout: {x, y, width, height}}}。 该事件当重新计算布局的时候会立即进行触发,不过界面可能不会立即刷新, 特别当布局动画正在加载中的时候。 |
5 | onMagicTap | 方法 | function | 当accessible为true的时候,当用户双指点击(Magic Tap)的时候,进行触发 |
风格样式
在React Native中的Style风格布局,其实和CSS样式有很多相似的地方,这边介绍一下:
Style标签 | 说明 | Style标签 | 说明 |
FlexBox | 弹性布局(详细点击了解) | transforms | 动画属性(详细点击了解) |
backfaceVisibility | enum('visible', 'hidden')定义界面翻转的
时候是否可见 | backgroundColor | 背景颜色 |
borderColor | 边框颜色,这边几个就是代表上下左右变宽的颜色borderTopColor,borderRightColor,
borderBottomColor,borderLeftColor | borderRadius | 边框圆角大小,其他几个是上下左右边框的圆角.borderTopLeftRadius,borderTopRightRadius,
borderBottomLeftRadius,borderBottomRightRadius |
borderStyle | 边框线的风格,这个和CSS样式一样的
,enum('solid', 'dotted', 'dashed') | borderWidth | 边框宽度,另外四个是上下左右的边框宽度:borderTopWidth,borderRightWidth,borderBottomWidth,borderLeftWidth |
opacity | 设置透明度 | overflow | 设置内容超过容器显示还是隐藏 |
elevation | 高度,设置Z轴,可以产生立体效果 |
下面是几个特殊的属性,这边直接介绍所有平台通用以及只在Android平台有效果的属性
①.testID (全平台)
可以根据该testID在测试的时候定位该View
②:accessibilityComponentType(android平台)
定义是否该UI组件和原生组件一致化处理
③.accessibilityLiveRegion enum('none','polite','assertive') (android平台)
该当View发生更新时候的,是否需要通过用户,不过该只对Android4.4以及以上的平台设备有效果
④.collapsable (android平台)
布局合并优化使用
⑤.importantForAccessibility enum('auto', 'yes', 'no', 'no-hide-descendants') (android平台)
设置视图响应事件等级
⑥.needsOffscreenAlphaCompositing (android平台)
设置View是否需要渲染和半透明度效果处理的先后次序。
⑦.renderToHardwareTextureAndroid (android)
设置是否需要GPU进行渲染
属性方法(主要一些可用的属性)
①.allowFontScaling (bool):控制字体是否根据iOS的设置进行自动缩放-iOS平台,Android平台不适用
②.numberOfLines (number):进行设置Text显示文本的行数,如果显示的内容超过了行数,默认其他多余的信息就不会显示了。
③.onLayout (function) 当布局位置发生变动的时候自动进行触发该方法, 其中该function的参数如下:
[code lang="" start="" highlight=""]{nativeEvent: {layout: {x, y, width, height}}}[/code]
④.onPress (fcuntion) 该方法当文本发生点击的时候调用该方法.
风格样式
1..继承可以使用View组件的所有Style(具体查看http://facebook.github.io/react-native/docs/view.html#style)
2.color:字体颜色
3..fontFamily 字体名称
4..fontSize 字体大小
5..fontStyle 字体风格(normal,italic)
6..fontWeight 字体粗细权重("normal", 'bold', '100', '200', '300', '400', '500', '600', '700', '800', '900')
7..textShadowOffset 设置阴影效果{width: number, height: number}
8..textShadowRadius 阴影效果圆角 9..textShadowColor 阴影效果的颜色
10.letterSpacing 字符间距 11.lineHeight 行高
12.textAlign 文本对其方式("auto", 'left', 'right', 'center', 'justify')
13.textDecorationLine 横线位置 ("none", 'underline', 'line-through', 'underline line-through')
14.textDecorationStyle 线的风格("solid", 'double', 'dotted', 'dashed')
15.textDecorationColor 线的颜色 16.writingDirection 文本方向("auto", 'ltr', 'rtl')
属性方法
1.onLayout (function) 当Image布局发生改变的,会进行调用该方法,调用的代码为:
{nativeEvent: {layout: {x, y, width, height}}}.
2.onLoad (function):当图片加载成功之后,回调该方法
3.onLoadEnd (function):当图片加载失败回调该方法,该不会管图片加载成功还是失败
4.onLoadStart (fcuntion):当图片开始加载的时候调用该方法
5.resizeMode 缩放比例,可选参数('cover', 'contain', 'stretch') 该当图片的尺寸超过布局的尺寸的时候,会根据设置Mode进行缩放或者裁剪图片
6.source {uri:string} 进行标记图片的引用,该参数可以为一个网络url地址或者一个本地的路径
样式风格
1.FlexBox 支持弹性盒子风格
2.Transforms 支持属性动画 3.resizeMode 设置缩放模式
4.backgroundColor 背景颜色
5.borderColor 边框颜色 6.borderWidth 边框宽度
7.borderRadius 边框圆角
8.overflow 设置图片尺寸超过容器可以设置显示或者隐藏('visible','hidden')
9.tintColor 颜色设置 10.opacity 设置不透明度0.0(透明)-1.0(完全不透明)
属性方法(这边讲解平台公用以及Android生效的属性方法)
3.1.View 支持View的相关属性
3.2.autoCapitalize 控制TextInput输入的字符进行切换成大写(可选择参数:'none', 'sentences', 'words', 'characters')
3.3.autoCorrect bool 设置拼写自动修正功能 默认为开启(true)
3.4.autoFocus bool 设置是否默认获取到焦点默认为关闭(false)。该需要componentDidMount方法被调用之后才会获取焦点哦(componentDidMount是React组件被渲染之后React主动回调的方法)
3.5.defaultValue string 给文本输入设置一个默认初始值。
3.6.editable bool 设置文本框是否可以编辑 默认值为true,可以进行编辑
3.7.keyboardType 键盘类型(可选参数:"default", 'email-address', 'numeric', 'phone-pad', "ascii-capable", 'numbers-and-punctuation', 'url', 'number-pad', 'name-phone-pad', 'decimal-pad', 'twitter', 'web-search') 该用来选择默认弹出键盘的类型例如我们甚至numeric就是弹出数字键盘。鉴于平台的原因如下的值是所有平台都可以进行通用的
3.8.maxLength number 可以限制文本输入框最大的输入字符长度
3.9.multiline bool 设置可以输入多行文字,默认为false(表示无论文本输入多少,都是单行显示)
3.10.onBlur function 监听方法,文本框失去焦点回调方法
3.11.onChange function 监听方法,文本框内容发生改变回调方法
3.12.onChangeText function监听方法,文本框内容发生改变回调方法,该方法会进行传递文本内容
3.13.onEndEditing function监听方法,当文本结束文本输入回调方法
3.14.onFocus function 监听方法 文本框获取到焦点回调方法
3.15.onLayout function监听方法 组价布局发生变化的时候调用,调用方法参数为 {x,y,width,height}
3.16.onSubmitEditing function监听方法,当编辑提交的时候回调方法。不过如果multiline={true}的时候,该属性就不生效
3.17.placeholder string 当文本输入框还没有任何输入的时候,默认显示信息,当有输入的时候该值会被清除
3.18.placeholderText Color string 设置默认信息颜色(placeholder)
3.19.secureTextEntry bool 设置是否为密码安全输入框 ,默认为false
3.20.style 风格属性 可以参考Text组件风格
3.21.value string 输入框中的内容值
以上是一些Android,iOS平台通用的属性,下面根据官网的文档,我这边组要讲解一下适用于Android平台的属性方法
3.22.numberOfLines number设置文本输入框行数,该需要首先设置multiline为true,设置TextInput为多行文本。
3.23.textAlign 设置文本横向布局方式 可选参数('start', 'center', 'end')
3.24.textAlignVertical 设置文本垂直方向布局方式 可选参数('top', 'center', 'bottom')
3.25.underlineColorAndroid 设置文本输入框下划线的颜色
属性方法
3.1.支持View控件的属性方法 (这些属性是从View控件中继承下来) 例如:大小,布局,边距啊
3.2.color 设置进度的颜色属性值
3.3.indeterminate 设置是否要显示一个默认的进度信息,该如果styleAttr的风格设置成Horizontal的时候该值必须设置成false
3.4.progress number 设置当前的加载进度值(该值在0-1之间)
3.5.styleAttr 进度条框的风格 ,可以取的值如下:
属性方法
3.1.View相关属性样式全部继承(例如:宽和高,背景颜色,边距等相关属性样式)
3.2.contentContainerStyle 样式风格属性(传入StyleSheet创建的Style文件)。该样式会作用于被ScrollView包裹的所有的子视图。
3.3.horizontal 表示ScrollView是横向滑动还是纵向滑动。该默认为false表示纵向滑动
3.4.keyboardDismissMode 枚举类型表示键盘隐藏类型,可选值('none', "interactive", 'on-drag') 三个值的意义分别如下:
3.5.keyboardShouldPersistTaps 该属性默认为false,表示如果当前是textinput控件,并且键盘是弹出状态的话,点击textinput之外地方,会进行隐藏键盘。反之不会有效果,键盘还是成打开状态。
3.6.onContentSizeChange function 该当滚动视图的内容尺寸大小发生变化的时候进行调用
3.7.onScroll function 该方法在滚动的时候每frame(帧)调用一次。该方法事件调用的频率可以使用scrollEventThrottle属性进行设置。
3.8.refreshControl element 设置元素控件,该可以进行指定RefreshControl组件。这样可以为ScrollView添加下拉刷新的功能.
3.9.removeClippedSubviews 测试属性 当该值为true的时候。在ScrollView视图之外的视图(该视图的overflow属性值必须要为hidden)会从被暂时移除,该设置可以提高滚动的性能。
3.10.showsHorizontalScrollIndicator 该值设置是否需要显示横向滚动指示条
3.11.showsVerticalScrollIndicator 该值设置是否需要显示纵向滚动指示条
3.12.sendMomentumEvents 当ScrollView有onMomentumScrollBegin或者onMomentumScrollEnd方法设置,该sendMomentumEvents值设置为true的时候。变化的事件信息会通过该Android框架自动发送出来,然后之前设置的方法进行捕捉。
属性方法
3.1.View相关属性样式全部继承(例如:宽和高,背景颜色,边距等相关属性样式)
3.2.actions 设置功能列表信息属性 传入的参数信息为: [{title: string, icon: optionalImageSource, show: enum('always', 'ifRoom', 'never'), showWithText: bool}] 进行设置功能菜单中的可用的相关功能。该会在显示在组件的右侧(显示方式为图标或者文字),如果界面上面区域已经放不下了,该会加入到隐藏的菜单中(弹出进行显示)。该属性的值是一组对象数组,每一个对象包括以下以下一些参数:
3.3.contentInSetEnd number 该用于设置ToolBar的右边和屏幕的右边缘的间距。
3.4.contentInsetStart number 该用于设置ToolBar的左边和屏幕的左边缘的间距。
3.5.logo optionalImageSource 可选图片资源 用于设置Toolbar的Logo图标
3.6.navIcon optionalImageSource 可选图片资源 用于设置导航图标
3.7.onActionSelected function方法 当我们的功能被选中的时候回调方法。该方法只会传入唯一一个参数:点击功能在功能列表中的索引信息
3.8.onIconClicked function 当图标被选中的时候回调方法
3.9.overflowIcon optionalImageSource 可选图片资源 设置功能列表中弹出菜单中的图标
3.10. rtl 设置toolbar中的功能顺序是从右到左(RTL:Right To Left)。为了让该效果生效,你必须在Android应用中的AndroidMainifest.xml中的application节点中添加android:supportsRtl="true",然后在你的主Activity(例如:MainActivity)的onCreate方法中调用如下代码:setLayoutDirection(LayoutDirection.RTL)。
3.11.subtitle string 设置toolbar的副标题
3.12.subtitleColor color 设置设置toolbar的副标题颜色
3.13.title string 设置toolbar标题
3.14.titleColor color 设置toolbar的标题颜色
属性方法
属性方法
itemValue:该属性值为被选中的item的属性值
itemPosition:该选择器被选中的item的索引position
'dialog': 该值为默认值,进行弹出一个模态dialog(弹出框)
'dropdown':以picker视图为基础,在该视图下面弹出下拉框
'none' 默认值,在拖拽中不隐藏键盘
'on-drag' 当拖拽滑动开始的时候隐藏键盘
'position' 从左起开始第一个可见的页面的索引
'offset' 该value值的范围为[0,1),该用来代表当前页面的却换的状态。值x代表该索引页面(1-x)的范围可见,另外x范围代表下一个页面可见的区域
'idle' 该表示当前用户和页面滚动没有任何交互
'dragging' 拖动中,该表示当前页面正在被拖拽滑动中
'settling' 该表示存在页面拖拽或者滑动的交互。页面滚动正在结束。并且正在关闭或者打开动画。
属性方法
属性方法
使用范例:
async _setClipboardContent(){ Clipboard.setString('Hello World'); try { var content = await Clipboard.getString(); ToastAndroid.show('粘贴板的内容为:'+content,ToastAndroid.SHORT); } catch (e) { ToastAndroid.show(e.message,ToastAndroid.SHORT); } }
1.Promise<Object> open(options:Object) staitc,静态方法,使用该方法进行加载弹出一个标准的Android时间日期选择器。该options(可选)参数有以下三种对象:
①:'date' 日期Date对象或者时间戳以毫秒单位-日期已默认格式显示
②:'minDate' 日期Date对象或者时间戳以毫秒单位-可以选择的最小时间
③:'maxDate' 日期Date对象或者时间戳以毫秒单位-可以选择的最大时间
options = {
date
:
this.
state
.maxDate
,
maxDate
:
new
Date
(
)
}
2.dateSetAction() ,static静态方法,选择时间日期选择器
3.dismissedAction(),static静态方法,关闭时间日期选择器
async showPicker(stateKey, options) { try { var newState = {}; const {action, year, month, day} = await DatePickerAndroid.open(options); if (action === DatePickerAndroid.dismissedAction) { newState[stateKey + 'Text'] = 'dismissed'; } else { var date = new Date(year, month, day); newState[stateKey + 'Text'] = date.toLocaleDateString(); newState[stateKey + 'Date'] = date; } this.setState(newState); } catch ({code, message}) { console.warn(`Error in example '${stateKey}': `, message); } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。