/** * Sample React Native App * https://github.com/facebook/react-native * * @format * @flow */ import React, { Component } from "react"; import { Platform, StyleSheet, Text, View, Image, FlatList, TouchableOpacity, ImageBackground, TextInput, Button, ViewPagerAndroid, DeviceEventEmitter, SectionList, Animated, TouchableHighlight } from "react-native"; import Swiper from "react-native-swiper"; import AndroidUtil from "../../util/AndroidUtil"; import BasePage from "../BasePage"; import Header from "./Header"; import MySwiper from "./Swiper"; import Dimensions from '../utils/dimensions'; import TopicTitle from './TopicTitle'; import ScrollRow from "./ScrollRow"; // import console from 'console'; export default class MainPage extends BasePage { constructor(props) { super(props); } state = { grade: '大学', text: '小伙子', ifGradeMenuShow: false, fadeAnim: new Animated.Value(0), } render() { return ( {/* 尝试切换为sectionList 分组显示 */} { return this.loadFlatItem(item); }} keyExtractor={(item, index) => item.key.toString()} ListHeaderComponent={() => this.headerorfooterComponent()} renderSectionHeader={this.sectionTitle} onScroll={this.hideGradeMenu} /> { this.state.ifGradeMenuShow ? ( 小学 学前 中学 ) : ( null ) } ); } // 头部组件 headerorfooterComponent() { return (
this.toNextPage("userCenter")} /> {/* 搜索区域 */} this.setState({ text })} value={this.state.text} /> {this.state.grade} ); } // 渲染轮播图 getSwiperElement() { console.log('进入swiper') return ( ); } // 渲染课程表 getScheduleElement(data) { let arr = []; let index = 0; for (let item of data.item.icon_item) { arr.push( { alert(Dimensions.width.toString()); }} key={index} activeOpacity={1} > ); if (index < data.item.icon_item.length - 1) { arr.push( ); } index++; } return ( {arr} ); } // 渲染每一个块儿 loadFlatItem(data) { console.log(data) console.log(data.typea) switch (data.typea) { // 轮播图 case 1: console.log(1) return this.getSwiperElement(); break; // 课程表 case 2: console.log(2) return this.getScheduleElement(data); break; // 大图主题 case 3: console.log(3) return ( ); break; // 热门课程 case 4: return ( ) break; case 5: return ( ) break; default: break; } } // 渲染每一个section的title sectionTitle = (info) => { console.log(info) switch (info.section.title) { case 'operation': console.log('进入运营区头部', info.section.title) return ( ); break; case 'courses': return break; default: break; } } // 点击呼出学龄菜单 tabCallOutHandler = () => { this.setState({ ifGradeMenuShow: !this.state.ifGradeMenuShow }, () => { Animated.timing( this.state.fadeAnim, { toValue: this.state.ifGradeMenuShow ? 1 : 0, duration: 300, } ).start(); }) } // 如果切换学龄在显示状态,那么在它失去焦点时将它隐藏 hideGradeMenu = () => { if (this.state.ifGradeMenuShow) { this.setState({ ifGradeMenuShow: false }) } } } const styles = StyleSheet.create({ title_text: { justifyContent: "center", alignItems: "center", color: "red", fontSize: 30, textAlign: "center", marginTop: 30, marginBottom: 50 }, /* 搜索区域 */ searchSection: { flex: 1, width: Dimensions.width, height: 60, flexDirection: 'row', alignItems: 'center', backgroundColor: '#f0f1f5', justifyContent: 'space-around', position: 'relative', }, searchBox: { width: 232, height: 40, backgroundColor: '#fff', borderRadius: 20 }, rightBtn: { width: 113, height: 40, backgroundColor: '#fff', borderRadius: 20, alignItems: 'center', justifyContent: 'center', justifyContent: 'space-around', flexDirection: 'row', paddingLeft: 20, paddingRight: 10, }, rightBtnIcon: { width: 14, height: 14 }, rightBtnText: { color: '#151515', fontSize: 18, }, callUpGrade: { width: 113, height: 120, borderRadius: 20, position: 'absolute', right: 9, top: 125, zIndex: 999, elevation: 999, backgroundColor: '#fff', flexDirection: 'column' }, gradeItem: { zIndex: 999, flex: 1, alignItems: 'center', justifyContent: 'center', }, gradeItemMid: { zIndex: 999, flex: 1, alignItems: 'center', justifyContent: 'center', borderTopWidth: 1, borderBottomWidth: 1, borderColor: '#f0f1f5' }, gradeText: { color: '#151515', fontSize: 18, } }); const sectionData = [ { title: 'swiper', data: [{ //轮播 key: 111, typea: 1, text: "第一种类型" }, { //只有一个标题下面两个图片 key: 222, typea: 2, item: { item_type: 1, title: "课程表:第一周", icon_item: [ { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第一张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第二张图片文字" } ] } },] }, { title: 'operation', data: [{ //一个标题,大长图 key: 444, typea: 3, title: "五月主题:五一启程,去看看不同世界", text: "每天30分钟,玩学两不误", icon_item: [ { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第一张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第二张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第三张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第四张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第五张图片文字" } ] }, { key: 555, typea: 4, title: "热门课程", text: "text", mask: false, icon_item: [ { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第一张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第二张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第三张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第四张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第五张图片文字" } ] },] }, { title: 'courses', data: [{ //一个标题,大长图 key: 444, typea: 5, title: "五月主题:五一启程,去看看不同世界", text: "每天30分钟,玩学两不误", icon_item: [ { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第一张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第二张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第三张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第四张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第五张图片文字" } ] }, { key: 555, typea: 5, title: "热门课程", text: "text", mask: false, icon_item: [ { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第一张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第二张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第三张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第四张图片文字" }, { icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1556277324856&di=dc1548a0c5ba10481af922e174912937&imgtype=0&src=http%3A%2F%2Fwww.51pptmoban.com%2Fd%2Ffile%2F2012%2F05%2F12%2F82c4568a90055adcf8fbb896f0841c69.jpg", name: "第五张图片文字" } ] },] } ]