zoukankan      html  css  js  c++  java
  • [React Native] Using the Image component and reusable styles

    Let's take a look at the basics of using React Native's Image component, as well as adding some reusable styling to our Dashboard component buttons.

    We are going to build Dashboard Component, it will looks like this:

    Basicly have one image component and three TouchableHighlight components.

    import React, { Component } from 'react';
    import {Text, View, StyleSheet, Image, TouchableHighlight} from 'react-native';
    
    var styles = StyleSheet.create({
        container: {
            marginTop: 65,
            flex: 1
        },
        image: {
            height: 350,
        },
        buttonText: {
            fontSize: 24,
            color: 'white',
            alignSelf: 'center'
        }
    });
    
    class Dashboard extends React.Component{
        makeBackground(btn){
            var obj = {
                flexDirection: 'row',
                alignSelf: 'stretch',
                justifyContent: 'center',
                flex: 1
            }
            if(btn === 0){
                obj.backgroundColor = '#48BBEC';
            } else if (btn === 1){
                obj.backgroundColor = '#E77AAE';
            } else {
                obj.backgroundColor = '#758BF4';
            }
            return obj;
        }
        goToProfile(){
            console.log('Going to Profile Page');
        }
        goToRepos(){
            console.log('Going to Repos');
        }
        goToNotes(){
            console.log('Going to Notes');
        }
        render(){
            return (
                <View style={styles.container}>
                    <Image source={{uri: this.props.userInfo.avatar_url}} style={styles.image}/>
                    <TouchableHighlight
                        style={this.makeBackground(0)}
                        onPress={this.goToProfile.bind(this)}
                        underlayColor="#88D4F5">
                        <Text style={styles.buttonText}>View Profile</Text>
                    </TouchableHighlight>
                    <TouchableHighlight
                        style={this.makeBackground(1)}
                        onPress={this.goToRepos.bind(this)}
                        underlayColor="#E39EBF">
                        <Text style={styles.buttonText}>View Repositories</Text>
                    </TouchableHighlight>
                    <TouchableHighlight
                        style={this.makeBackground(2)}
                        onPress={this.goToNotes.bind(this)}
                        underlayColor="#9BAAF3">
                        <Text style={styles.buttonText}>Take Notes</Text>
                    </TouchableHighlight>
                </View>
            )
        }
    };
    
    module.exports = Dashboard;

    The data 'this.props.userInfo' was passed from 'navigator' in main.js:

        handleSubmit(event){
            //update our indicatorIOS spinner
            this.setState({
                isLoading: true
            });
            //fetch data from github
            api.getBio(this.state.username)
                .then( (res) => {
                    if(res.message === "Not Found"){
                        this.setState({
                            error: 'User not found',
                            isLoading: false
                        })
                    }else{
                        //Pass in a new router component
                        this.props.navigator.push({
                            title: res.name || 'Selet an Option',
                            component: Dashboard,
                            passProps: {userInfo: res}
                        });
                        //Clean the search input and loading
                        this.setState({
                            isLoading: false,
                            error: false,
                            username: ''
                        });
                    }
                })
        }
  • 相关阅读:
    (引)spring学习笔记1.什么是控制反转
    Arduino 各种模块篇 步进电机 step motor 舵机 servo 直流电机 总复习
    Raspberry Pi Wireless Adaptor
    Pyramid 使用总结1
    Arduino 各种模块篇 人体红外感应模块 proximity sensor
    Pyramid 使用总结2
    Webcam Streaming Desktop Recording on Linux for ubuntu or its destros
    Arduino 各种模块篇 步进电机 step motor( 不用库,不用shield, 纯)
    Arduino 各种模块篇 motor shield 电机扩展板(舵机、直流电机、步进电机party)
    转载 stepper motors
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5713280.html
Copyright © 2011-2022 走看看