相機(jī)滾動(dòng)

2019-08-14 14:23 更新

保留所有版權(quán)。

源代碼是在 BSD-style 許可下經(jīng)過許可的,是在源代碼樹的根目錄下的 LICENSE 文件里找到的。額外授予的專利權(quán)可以在同目錄下的 PATENTS 文件里找到。

@flow

方法

static saveImageWithTag(tag: string, successCallback, errorCallback)

利用tag標(biāo)簽保存圖像到相機(jī)相冊(cè)。

@param {string} tag - 可以是我們所接受的三種標(biāo)簽中的任意一個(gè):1、url 2、assets-library 標(biāo)簽 3、存儲(chǔ)一個(gè)圖像的內(nèi)存中返回的標(biāo)簽

static getPhotos(params: object, callback: function, errorCallback: function)

利用來自設(shè)備中的本地相機(jī)相冊(cè)的圖片識(shí)別對(duì)象來調(diào)用 callback 函數(shù),通過 getPhotosReturnChecker 來定義匹配類型。

@param {object} params -見 getPhotosParamChecker 。@param {function} callback -通過getPhotosReturnChecker 定義自變量的類型調(diào)用成功。@param {function} errorCallback - 通過錯(cuò)誤消息調(diào)用失敗。

例子

Edit on GitHub

    'use strict';    var React = require('react-native');    var {
      CameraRoll,
      Image,
      SliderIOS,
      StyleSheet,
      SwitchIOS,
      Text,
      View,
    } = React;    var CameraRollView = require('./CameraRollView.ios');    var CAMERA_ROLL_VIEW = 'camera_roll_view';    var CameraRollExample = React.createClass({
      getInitialState() {        return {
          groupTypes: 'SavedPhotos',
          sliderValue: 1,
          bigImages: true,
        };
      },
      render() {        return (
          <View>
            <SwitchIOS
              onValueChange={this._onSwitchChange}              value={this.state.bigImages} />
            <Text>{(this.state.bigImages ? 'Big' : 'Small') + ' Images'}</Text>
            <SliderIOS              value={this.state.sliderValue}
              onValueChange={this._onSliderChange}
            />
            <Text>{'Group Type: ' + this.state.groupTypes}</Text>
            <CameraRollView              ref={CAMERA_ROLL_VIEW}
              batchSize={5}
              groupTypes={this.state.groupTypes}
              renderImage={this._renderImage}
            />
          </View>
        );
      },
      _renderImage(asset) {        var imageSize = this.state.bigImages ? 150 : 75;        var imageStyle = [styles.image, {width: imageSize, height: imageSize}];        var location = asset.node.location.longitude ?
          JSON.stringify(asset.node.location) : 'Unknown location';        return (
          <View key={asset} style={styles.row}>
            <Image
              source={asset.node.image}
              style={imageStyle}
            />
            <View style={styles.info}>
              <Text style={styles.url}>{asset.node.image.uri}</Text>
              <Text>{location}</Text>
              <Text>{asset.node.group_name}</Text>
              <Text>{new Date(asset.node.timestamp).toString()}</Text>
            </View>
          </View>
        );
      },
      _onSliderChange(value) {        var options = CameraRoll.GroupTypesOptions;        var index = Math.floor(value * options.length * 0.99);        var groupTypes = options[index];        if (groupTypes !== this.state.groupTypes) {          this.setState({groupTypes: groupTypes});
        }
      },
      _onSwitchChange(value) {        this.refs[CAMERA_ROLL_VIEW].rendererChanged();        this.setState({ bigImages: value });
      }
    });    var styles = StyleSheet.create({
      row: {
        flexDirection: 'row',
        flex: 1,
      },
      url: {
        fontSize: 9,
        marginBottom: 14,
      },
      image: {
        margin: 4,
      },
      info: {
        flex: 1,
      },
    });
    exports.title = '<CameraRollView>';
    exports.description = 'Example component that uses CameraRoll to list user\'s photos';
    exports.examples = [
      {
        title: 'Photos',
        render(): ReactElement { return <CameraRollExample />; }
      }
    ];


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)