接下来,我们接着(一)继续讲,今天我们学习的是Image组件和ScrollView组件。

Image组件

Image:一个用于显示多种不同类型图片的React组件。那么要如何使用呢?

引入本地图片:

<Image source={require('../images/myHeader.png')}/>

引入网络图片

<Image style={styles.imageStyle} source={{uri: 'https://facebook.github.io/react/img/logo_og.png'}}/>

这里要说的是加载网络图片的话,必须指定图片大小,例如logo_og.png,否则会遇到无法显示的问题,而引入本地图片的话,如果不指定图片的大小,那么默认的是图片的原大小,例如myHeader这张图片,大小为250 * 250,默认显示的是250 * 250.

安卓和iOS的图片尺寸不一样,那么给图片命名为my-icon.android.png/my-icon.ios.png,系统会自动判断系统来加载图片.

那么现在咱们来说一下Image的属性

	width:320,
height:100, //cover:保持图片宽高放大显示图片,保证把Image填满,显示放大图片的中心
//contain: 在保持图片宽高比的前提下缩放图片,完整显示图片,未填充的区域保留
//stretch:拉伸图片,不维持宽高比,填满Image设置的大小。
//repeat:类似于平铺效果
resizeMode: 'cover',
backgroundColor:'gray',
// tintColor: 'red',为所有非透明的像素指定一个颜色
// borderBottomLeftRadius ReactPropTypes.number
// borderBottomRightRadius ReactPropTypes.number
// borderColor color
// borderRadius number
// borderTopLeftRadius ReactPropTypes.number
// borderTopRightRadius ReactPropTypes.number
borderWidth: 2,//设置边框粗细程度
borderColor: 'black',//设置边框颜色
borderRadius: 30,//设置圆角大小,上面几个属性表示不同位置的圆角
opacity: 0.5,//设置透明程度,1为完全不透明
overflow: 'visible',//‘visible’,'hidden'当图片原始尺寸大于Image尺寸时,多余的部分是否可见

ScrollView组件

ScrollView必须有一个确定的高度才能正常使用,它实际上所做的就是将一系列不确定高度的子组件装进一个确定高度的容器,而这个容器就是ScrollView。

contentContainerStyle StyleSheetPropType(ViewStylePropTypes)

这些样式会应用到一个内层的内容容器上,所有的子视图都会包裹在内容容器内。

<ScrollView contentContainerStyle={styles.contentContainer}>
</ScrollView>

现在咱们来看一下它的常用属性和方法

<ScrollView style={styles.scrollV}
contentContainerStyle={styles.contentContainer}
horizontal={true}
keyboardDismissMode='none'
keyboardShouldPersistTaps={false}
onScroll={this._scroller}
>
<Text>就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样</Text>
</ScrollView>

上面的这个是横向滚动的

horizontal:布尔值类型,当此属性为true的时候,所有的的子视图会在水平方向上排成一行,默认为false.

keyboardDismissMode:用户拖拽滚动视图的时候,是否要隐藏软键盘,默认为不隐藏'none', "interactive", 'on-drag'

keyboardShouldPersistTaps:当此属性为false的时候,在软键盘激活之后,点击焦点文本输入框以外的地方,键盘就会隐藏。

如果为true,滚动视图不会响应点击.

onContentSizeChange function 该当滚动视图的内容尺寸大小发生变化的时候进行调用。

onScroll function 该方法在滚动的时候每frame(帧)调用一次。该方法事件调用的频率可以使用scrollEventThrottle属性进行设置。

	_scroller(){
console.log("横向滚动");
}

refreshControl element 设置元素控件,该可以进行指定RefreshControl组件。这样可以为ScrollView添加下拉刷新的功能.这个咱们以后讲。

showsHorizontalScrollIndicator:bool值是否显示一个水平方向的滚动条

showsVerticalScrollIndicator :bool值是否显示一个竖直方向的滚动条

以上是一些基础的属性,进阶的咱们后面再讲。

下面是一些常用属性

scroller: {
flex:1,
margin:20,
width: 300,
backgroundColor :'white',
borderWidth:2,
borderColor:'black',
},
contentContainer: {
shadowColor: 'red',//设置阴影颜色
shadowOffset: {width:10,height:5},//设置阴影面积
shadowOpacity: 1,//设置阴影的透明度
shadowRadius: 20,//设置阴影的圆角
},

下周咱们接着说另外的控件。

欢迎关注我的github

另外,本系列所有的源码都放在了我的github上:https://github.com/Demon404/Honey

React-Native学习系列(二) Image和ScrollView的更多相关文章

  1. React Native学习(二)—— 开始一个项目

    本文基于React Native 0.52 一.创建一个项目 1.初始化一个RN项目 react-native init RNDemo 2.连接一个设备或是打开模拟器 可以通过 adb devices ...

  2. React Native学习(二)之View

    React Native组件解析(二)之View 0.JSX React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素.React利用虚拟DOM来减少对实际DOM的操作从而提升性能. ...

  3. React Native 学习笔记--进阶(二)--动画

    React Native 进阶(二)–动画 动画 流畅.有意义的动画对于移动应用用户体验来说是非常必要的.我们可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更 ...

  4. React Native组件(二)View组件解析

    相关文章 React Native探索系列 React Native组件系列 前言 了解了RN的组件的生命周期后,我们接着来学习RN的具体的组件.View组件是最基本的组件,也是首先要掌握的组件,这一 ...

  5. React Native 学习-01

    React Native 学习 (学习版本 0.39) 一.环境配置 二.IDE选择 webstorm 1.webstorm配置 ①.首先是可以选择使用汉化包汉化.eu68 ②.安装插件和外部库. 由 ...

  6. React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发

    React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发   2016/09/23 |  React Native技术文章 |  Sky丶清|  4 条评论 |  1 ...

  7. .net reactor 学习系列(二)---.net reactor界面各功能说明

    原文:.net reactor 学习系列(二)---.net reactor界面各功能说明         安装了.net reactor之后,可以在安装目录下找到帮助文档REACTOR_HELP.c ...

  8. react native 学习一(环境搭配和常见错误的解决)

    react native 学习一(环境搭配) 首页,按照http://reactnative.cn/docs/0.30/getting-started.html#content上的介绍,下载安装pyt ...

  9. MyBatis学习系列二——增删改查

    目录 MyBatis学习系列一之环境搭建 MyBatis学习系列二——增删改查 MyBatis学习系列三——结合Spring 数据库的经典操作:增删改查. 在这一章我们主要说明一下简单的查询和增删改, ...

随机推荐

  1. 【初学python】使用python连接mysql数据查询结果并显示

    因为测试工作经常需要与后台数据库进行数据比较和统计,所以采用python编写连接数据库脚本方便测试,提高工作效率,脚本如下(python连接mysql需要引入第三方库MySQLdb,百度下载安装) # ...

  2. C#多线程之线程池篇2

    在上一篇C#多线程之线程池篇1中,我们主要学习了如何在线程池中调用委托以及如何在线程池中执行异步操作,在这篇中,我们将学习线程池和并行度.实现取消选项的相关知识. 三.线程池和并行度 在这一小节中,我 ...

  3. spring源码分析之freemarker整合

    FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个Java类库,是一款程 ...

  4. Java消息队列--ActiveMq 实战

    1.下载安装ActiveMQ ActiveMQ官网下载地址:http://activemq.apache.org/download.html ActiveMQ 提供了Windows 和Linux.Un ...

  5. SQL Server事务、视图和索引

    废话不多说,直接上干货 14:13:23 事务 概括:事务是一种机制,一个操作序列,包含一组数据库操作命令,并且把所有的命令作为一个整体一起 向系统提交或撤销操作 请求. 事务的特性:   1.原子性 ...

  6. Ubuntu 16.04 安装 arm-linux-gcc 嵌入式交叉编译环境 问题汇总

    闲扯: 实习了将近半年一直在做硬件以及底层的驱动,最近要找工作了发现了对linux普遍要求很高,而且工作岗位也非常多,所以最近一些时间在时不时地接触linux. 正文:(我一时兴起开始写博客,准备不充 ...

  7. ubuntu安装ANSYS17.2全过程

    本次介绍在Ubuntu kylin1604下安装Ansys 17.2的全部过程. 1 安装文件准备 关于ANSYS的软件安装文件,在网络上可以找到.这里采用SSQ版本的安装文件,如图所示,包含一个名为 ...

  8. Spring WebService入门

    Web service是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布 ...

  9. ASP.NET 5运行时升级到Beta5

    在Visual Studio 2015 RTM和Windows 10正式发布之前,微软把开源.NET升级到了beta5,带来了一些增强和改变.和Visual Studio 2015 RC一起安装的AS ...

  10. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...