前端江太公


React Native,是一个混合移动应用开发框架,是目前流行的跨平台移动应用开发框架之一。React Native 采用不同的方法进行混合移动应用开发。它不会生成原生 UI 组件,而是基于 React,React Native
是一个用于构建基于 Web 的交互界面的 JavaScript 库,因此会有更丰富的 UI 体验效果,同时也能够很好地调用底层框架的UI使用。

React Native系列导航
01-React Native 基础教程
02-安装ReactNative
03-ReactNative目录结构
04-ReactNative视图View
05-ReactNative组件样式style
06-ReactNative文本组件Text
07-ReactNative组件状态state
08-ReactNative组件属性props
09-ReactNative输入组件TextInput
10-ReactNative图片组件Image
11-ReactNative活动指示器组件
12-ReactNative弹出框Alert
13-ReactNative存储数据组件AsyncStorage
14-ReactNative动画组件Animated
15-ReactNative开关组件Switch
16-状态栏组件StatusBar
17-ReactNative滚动视图ScrollView
18-ReactNative选择器Picker
19-ReactNative网络请求

React Native 图片组件 Image

原生 iOS 使用 UIImage 来显示一张图片,原生 Android 开发使用 ImageView 来显示图片。

React Native 对 UIImageImageView 进行封装,提供了 Image 组件用来显示图片。

Image 组件还同时解决了访问网络图片复杂的问题,把显示网络图片给简化了。

React Native 图片组件 Image

React Native 内建了图片组件 Image 来显示图片,这个组件既可以显示本地图片,也可以显示网络图片,还可以显示 base64 格式的图片。

引入组件

使用 Image 组件首先需要引入此组件,引入组件语法和引入其它组件的语法相同

import { Image } from 'react-native'

使用组件

Image 组件的基本使用语法如下

<Image style  = {image_style}source = {image_url} resizeMode = {"cover"|"contain"|"stretch"|"repeat"|"center"}
/>

Image 组件既可以显示本地图片也可以显示网络图片,但它们的语法格式有点不同。

显示本地图片的语法格式为

<Image style  = {image_style}source = {require('./image_path')} resizeMode = {"cover"|"contain"|"stretch"|"repeat"|"center"}
/>

显示网络图片的语法格式为

<Image style  = {image_style}source={{uri: 'image_url'}resizeMode = {"cover"|"contain"|"stretch"|"repeat"|"center"}
/>

显示 base64 格式的图片的语法格式为

<Image style  = {image_style}source={{uri: 'uri: data:image/png;base64,[image_base64_data]'}resizeMode = {"cover"|"contain"|"stretch"|"repeat"|"center"}
/>

注意: 显示网络图片和显示 base64 格式的图片,style 样式中一定要包含 widthheight 属性。

使用范例如下

显示本地图片

<Imagesource={require('/react-native/img/favicon.png')}
/>

显示网络图片

<Imagestyle={{width: 50, height: 50}}source={{uri: 'https://facebook.github.io/react-native/docs/assets/favicon.png'}}
/>

显示 base64 格式图片

<Imagestyle={{width: 66, height: 58}}source={{uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAEXRFWHRTb2Z0d2FyZQBwbmdjcnVzaEB1SfMAAABQSURBVGje7dSxCQBACARB+2/ab8BEeQNhFi6WSYzYLYudDQYGBgYGBgYGBgYGBgYGBgZmcvDqYGBgmhivGQYGBgYGBgYGBgYGBgYGBgbmQw+P/eMrC5UTVAAAAABJRU5ErkJggg=='}}
/>

属性

Image 组件有很多属性,但常用的且跨平台的属性真心不多,我们列举几个常用的介绍下。

  1. style 属性。

    除了默认的跟 相同的属性外, 中的 style 属性还支持一下属性

    属性 类型 说明
    borderTopRightRadius number 设置右上角的圆角度数,默认值为 0
    borderBottomLeftRadius number 设置左下角的圆角度数,默认值为 0
    borderBottomRightRadius number 设置右下角的圆角度数,默认值为 0
    borderTopLeftRadius number 设置左上角的圆角度数,默认值为 0
    borderRadius number 统一设置四个角的圆角度数,默认值为 0
    borderColor color 设置边框的颜色
    borderWidth number 设置边框的宽度,默认值为 0
    backgroundColor color 设置图片组件的背景色
    opacity number 设置图片组件的透明度
    overflow string 当组件超出屏幕宽高时是否可见, ‘visible’ 显示, ‘hidden’ 隐藏
    backfaceVisibility string 定义当组件不面向屏幕时是否可见, ‘visible’ 显示, ‘hidden’ 隐藏
    tintColor color 将所有非透明的图片像素改为此颜色
    resizeMode string 设置图片如何适应图片容器,可选的值有: ‘cover’, ‘contain’, ‘stretch’, ‘repeat’, ‘center’
  2. source 属性。

    source 属性用于设置图片的地址,图片地址可以是本地图片,网络图片和 base64 格式的图片。

    使用方式我们上面已经介绍过了。

  3. loadingIndicatorSource 属性。

    loadingIndicatorSource 属性用于加载网络图片时的 placeholder 图片。也可以说是图片加载指示器。

    它的使用格式和 source 属性一样,但不能是网络图片,只能是本地图片或 base64 格式图片。

  4. resizeMethod 属性。

    resizeMethod 属性用于设置图片如何适配图片组件。默认值为 auto

    可选的值有: ‘cover’, ‘contain’, ‘stretch’, ‘repeat’, ‘center’。

    说明
    auto 由系统自己在 resizescale 之间选择
    resize 显示之前先进行重新调整大小,当图片超出组件太多的时间建议使用此值
    scale 缩放图片,当地图片比组件小或者图片和组件差不多大小时使用此值

范例 1

下面的代码,我们使用 Image 组件分别显示本地图片、网络图片和 base64 图片。

你需要将下面的图片下载到项目的根目录下

App.js

import React, { Component } from 'react';
import { AppRegistry, View, Image } from 'react-native';export default class App extends Component {render() {return (<View><Imagesource={require('./img1.jpg')}/><Imagestyle={{margin:10,width: 177, height: 100}}source={{uri: 'https://www.twle.cn/static/i/img1.jpg'}}/><Imagestyle={{margin:10,width: 66, height: 58}}source={{uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAEXRFWHRTb2Z0d2FyZQBwbmdjcnVzaEB1SfMAAABQSURBVGje7dSxCQBACARB+2/ab8BEeQNhFi6WSYzYLYudDQYGBgYGBgYGBgYGBgYGBgZmcvDqYGBgmhivGQYGBgYGBgYGBgYGBgYGBgbmQw+P/eMrC5UTVAAAAABJRU5ErkJggg=='}}/></View>);}
}

显示效果如下

移动跨平台框架ReactNative图片组件Image【10】相关推荐

  1. 移动跨平台ReactNative动画组件Animated【14】

    前端江太公 React Native,是一个混合移动应用开发框架,是目前流行的跨平台移动应用开发框架之一.React Native 采用不同的方法进行混合移动应用开发.它不会生成原生 UI 组件,而是 ...

  2. 移动跨平台ReactNative开关组件Switch【15】

    前端江太公 React Native,是一个混合移动应用开发框架,是目前流行的跨平台移动应用开发框架之一.React Native 采用不同的方法进行混合移动应用开发.它不会生成原生 UI 组件,而是 ...

  3. 移动跨平台框架React Native状态栏组件StatusBar【16】

    前端江太公 React Native,是一个混合移动应用开发框架,是目前流行的跨平台移动应用开发框架之一.React Native 采用不同的方法进行混合移动应用开发.它不会生成原生 UI 组件,而是 ...

  4. ReactNative简介、开发环境、调试、常用组件、useState状态、FlatList组件、SectionList组件、Platform 模块、定义样式、图片组件、触摸事件、打包apk发布版

    ReactNative简介: ReactNative是基于React语法来进行开发移动app的框架: ReactNative中提供了移动端专用的一些组件,我们要使用ReactNative固有的组件代替 ...

  5. 关于.NET框架的主要组件 10:45:02

    关于.NET框架的主要组件 10:45:02 为什么需要.NET框架 面向对向编程 强大的web支持 web服务 平板应用 soa,云计算 .net程序 .NET框架主要组件 公共语言运行时 CLR ...

  6. Flutter学习笔记(10)--容器组件、图片组件

    如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件 ...

  7. 跨平台打造移动原生应用的10大武器

    编译工具对开发者的影响是直观的,开发者使用JavaScript等语言写出应用的代码,再将它们编译成原生代码.通过原生的API,完成跨平台的操作,最终分发到本地的应用商店中.由此可见,编译工具的选择可以 ...

  8. ReactNative ViewPageAndroid组件详解

    源码传送门 在我们开发Android的时候,ViewPage这个控件的使用频率还是很高的,最简单的就是制作引导页,应用程序的主界面等,在ReactNative开发中实现该功能的组件是ViewPageA ...

  9. 燃烧我的卡路里 ---- Flutter瘦内存瘦包之图片组件

    作者:闲鱼技术-炉军 背景 在电商类APP里,图片到现在为止仍然是最重要的信息承载媒介,不得不说逛淘宝的过程,其实就是一个看图片的过程.而商品详情页中的图片,通常是页面中内存占用最多的内容,占用了整个 ...

最新文章

  1. Linux怎么查询全部容器时间,docker容器与Linux主机环境获取时间不一致
  2. 程序员如何解决工作中的技术问题?
  3. Examine Scheduling Policies
  4. ROS机器人程序设计(原书第2版)2.4.1 ROS文件系统导览
  5. Elasticsearch 8.x 正式发布!
  6. cc2530设计性实验代码三
  7. nfine框架连接oracle,NFine快速开发框架(无后门)
  8. WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容
  9. H3C如何配置raid1
  10. win7浏览器主页修改不过来_win7无法修改ie浏览器主页的解决方法
  11. GemCraft Labyrinth:超耐玩的在线flash塔防游戏
  12. 计算机公式加法A C,概率公式c怎么计算
  13. 英式音标26字母(U-Z)
  14. 21.08.01 cnvoron带你玩转Voron2.4
  15. [CentOS Python系列] 五.阿里云部署web环境及通过IP地址访问服务器网页
  16. excel 置信区间 计算_如何用excel计算95%的置信区间?
  17. Elsevier期刊模板2(官方要求+文章结构)
  18. mysql字段和域_Word域与数据库的结合编程
  19. 信息安全 chap-3 传统加密方法
  20. 苦难并不可怕......

热门文章

  1. 3D LUT 相关文章收集
  2. android inflater,探索 Android Inflater.inflate()
  3. ZBrush新手普遍疑惑,你遇到几个?常用ZBrush快捷键汇总
  4. NPOI合并单元格后的边框设置
  5. 什么是开源工作流框架?有什么特点?
  6. otter 数据库单向同步和双向同步
  7. 程序员必备的 “ 摸鱼神器 ” 来了 !
  8. JVM之安全点和安全区域
  9. 基于HTML5的移动Web应用——Bootstrap 样式案例:制作微票儿首页
  10. spring cloud gateway routes加载顺序的研究