RN 使用第三方组件之react-native-image-picker

首先给个github地址:https://github.com/react-community/react-native-image-picker

该插件可以同时给iOS和Android两个平台下使用,但是需要配置下各自平台下的文件

1.   首先,安装下该插件:

     npm install react-native-image-picker@latest --save

2.   先别link,先添加进来该库之后 再link.

下面对于各自平台进行配置即可.

 iOS:

 手动添加库 :

  1. In the XCode‘s "Project navigator", right click on your project‘s Libraries folder ? Add Files to <...>
  2. Go to node_modules ? react-native-image-picker ? ios ? select RNImagePicker.xcodeproj

 =>  打开Xcode打开项目,点击根目录,右键选择 Add Files to ‘XXX‘,选中项目中的该路径下的文件即可:node_modules ? react-native-image-picker ? ios ? select RNImagePicker.xcodeproj

OK,添加进来之后,再进行 link命令.  react-native link react-native-image-picker

3.Add RNImagePicker.a to Build Phases -> Link Binary With Libraries

(注意这里的只要出现RNImagePicker.就可以了,跟前面的图标没关系)

 

4.For iOS 10+, Add the NSPhotoLibraryUsageDescription and NSCameraUsageDescription keys to your Info.plist with strings describing why your app needs these permissions

=>对于适配iOS10,需要在info.plist中配置NSPhotoLibraryUsageDescription和NSCameraUsageDescription

(点击加号 选择privacy camera usage Description 和 privacy. PhotoLibraryUsageDescription )

iOS平台配置完毕.

Android:

1.Add the following lines to android/settings.gradle:


1

2

include ‘:react-native-image-picker‘

project(‘:react-native-image-picker‘).projectDir = new File(settingsDir, ‘../node_modules/react-native-image-picker/android‘)

2.Add the compile line to the dependencies in android/app/build.gradle:


1

2

3

dependencies {

    compile project(‘:react-native-image-picker‘)

}

  

3.Add the required permissions in AndroidManifest.xml:


1

2

<uses-permission android:name="android.permission.CAMERA" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

  

4.Add the import and link the package in MainApplication.java:

import com.imagepicker.ImagePickerPackage;

.........

 new ImagePickerPackage()

OK,安卓这边也配置完毕.

用法:

配置弹出框信息

/**底部弹出框选项*/
var photoOptions = {
title: ‘请选择‘,
cancelButtonTitle: ‘取消‘,
takePhotoButtonTitle: ‘拍照‘,
chooseFromLibraryButtonTitle: ‘选择相册‘,
quality: 0.75,
allowsEditing: true,
noData: false,
storageOptions: {
skipBackup: true,
path: ‘images‘
}
}

点击事件

choosePhoto() {
ImagePicker.showImagePicker(photoOptions,(response) =>{
console.log(‘response‘+response);
if (response.didCancel){
showMsg("取消")
return
}else {
let source = { uri: response.uri };

}

})
}

原文地址:https://www.cnblogs.com/cui-cui/p/8476418.html

时间: 2024-10-15 10:58:58

RN 使用第三方组件之react-native-image-picker的相关文章

RN 使用第三方组件之react-native-image-picker(拍照/从相册获取图片)

首先给个github地址:https://github.com/react-community/react-native-image-picker  英文不行的看下面这个笔记 该插件可以同时给iOS和Android两个平台下使用,但是需要配置下各自平台下的文件 1.   首先,安装下该插件:      npm install react-native-image-picker@latest --save 2.   先别link,先添加进来该库之后 再link. 下面对于各自平台进行配置即可.  

React Native 调用原生Android组件

在如今的App中,已经有成千上万的原生UI部件了--其中的一些是平台的一部分,另一些可能来自于一些第三方库,而且可能你自己还收藏了很多.React Native已经封装了大部分最常见的组件,譬如ScrollView和TextInput,但不可能封装全部组件.而且,说不定你曾经为自己以前的App还封装过一些组件,React Native肯定没法包含它们.幸运的是,在React Naitve应用程序中封装和植入已有的组件非常简单. 比如WebView,官方并没有提供Android端的实现,那么我们现

React Native组件的结构和生命周期

React Native组件的结构和生命周期 一.组件的结构 1.导入引用 可以理解为C++编程中的头文件. 导入引用包括导入react native定义的组件.API,以及自定义的组件. 1.1 导入组件 1.2 导入API 1.3 导入自定义组件 2.组件的声明 组件的生命分为组件的定义和样式.组件的定义有各种组件的组成结构.方法的定义. 2.1 组件的定义 2.2 组件样式 组件样式的定义可以直接在组件的定义中的style中定义.但是对于样式复杂的组件需要组件样式. 3.组件的注册或导出

React Native的iOS开发步骤以及崩溃收集

React Native的iOS开发以及崩溃收集 简介 React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP. React Native着力于提高多平台开发的开发效率 -- 仅需学习一次,编写任何平台.(Learn once, write anywhere) Facebook已经在多项产品中使用了React Native,并且将持续地投入建设React Native. 准备 安装 iOS只能MAC下开发,需要Xcode; An

React Native 系列(三)

前言 本系列是基于React Native版本号0.44.3写的,相信大家看了本系列前面两篇文章之后,对于React Native的代码应该能看懂一点点了吧.本篇文章将带着大家来认识一下React Native的项目结构.由于之前的项目被我们改动了很多,因此,这里我们重新创建一个项目. 初始化 React Native 工程 自动创建 iOS/Android 工程和对应的JS文件,index.iOS.js,index.android.js 并且通过npm加载package.json里面的依赖库到

新版React Native+Redux打造高质量上线App教程百度云

原文配套资源获取链接:点击获取 本课程将带你解锁React Native开发应用新姿势,一网打尽React Native新版本热门技术:课程中老师会手把手带你开发并打包上线一款完整的跨平台App:让你拥有一次真正参与上线项目开发的历程,同时全面掌握React Native核心技术,让你的技术能力和项目经验都得到前所未有的提升![技术储备要求:1.具备JavaScript.ES5,ES6,React 前端基础:2.具备ReactNative技术基础(语法,环境搭建):3.了解XCode.Andro

react native 布局注意点

一.react native中很多是ES6语法. 1行.表示是js的严格模式. 'use strict';严格模式中变量必须先声明,然后赋值.定义等:还有就是this的绑定. 2行到8行.导入依赖,可以理解为java中import XX.react-native.React;和import XX.react-native.React.AppRegistry;这种. 9行.自定义组件,组件是React Native的基本元素,可以类比Activity. 10行到24行.render()方法,我的理

React Native常用第三方组件汇总--史上最全 之一

把我认为最好的知识,拿来与他人分享,是这一生快事之一! React Native 项目常用第三方组件汇总: react-native-animatable 动画 react-native-carousel 轮播 react-native-countdown 倒计时 react-native-device-info 设备信息 react-native-fileupload 文件上传 react-native-icons 图标 react-native-image-picker 图片选择器 reac

React Native学习-控制横竖屏第三方组件:react-native-orientation

在项目中,有时候可能会想使不同的页面显示的横竖屏也不一样,比如前一段我做的<广播体操>的项目,在首页面,肯定是想使页面为竖屏显示,但是播放页面要为横屏显示,即使用户的手机可以转屏,我们的播放页面也要是横屏显示. 有这样的需求,我们可以借助react-native的第三方组件,react-native-orientation. 官方文档:https://github.com/yamill/react-native-orientation 安装 1.如果项目正在运行,先关闭模拟器和终端: 2.执行