React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页效果

效果如下:

一、安装依赖

npm install react-native-scrollable-tab-view --save

安装后对应版本依赖如下:

"dependencies": {
"react": "16.8.3",
"react-native": "0.59.5",
"react-native-scrollable-tab-view": "^0.10.0",
},

二、实现代码

1)显示View代码

import React, {Component} from 'react';
import {Text, View} from 'react-native'; import styles from '../../style/NewsStyle';
import ScrollableTabView, {DefaultTabBar, ScrollableTabBar} from 'react-native-scrollable-tab-view'; /**
* 新闻主页
*/
class News extends Component { render() {
return (
<ScrollableTabView
tabBarPosition='top' //位于屏幕的位置,top顶部 bottom底部 overlayTop顶部,悬浮在内容视图之上 overlayBottom底部,悬浮在内容视图之上
locked={false} //表示手指是否能拖动视图,默认为false(表示可以拖动)
scrollWithoutAnimation={true} //视图切换是否有动画
style={styles.container}
renderTabBar={() => <ScrollableTabBar />} //ScrollableTabBar支持超过屏幕宽度,Tab左右滚动,而DefaultTabBar不支持
onChangeTab={(obj) => {
console.log('index:' + obj.i);
}}
tabBarUnderlineStyle={styles.lineStyle}
tabBarActiveTextColor='#FF0000'
> <Text style={styles.textStyle} tabLabel='娱乐'>娱乐1</Text>
<Text style={styles.textStyle} tabLabel='科技'>科技1</Text>
<Text style={styles.textStyle} tabLabel='军事'>军事1</Text>
<Text style={styles.textStyle} tabLabel='体育'>体育1</Text>
<Text style={styles.textStyle} tabLabel='娱乐'>娱乐1</Text>
<Text style={styles.textStyle} tabLabel='科技'>科技1</Text>
<Text style={styles.textStyle} tabLabel='军事'>军事1</Text>
<Text style={styles.textStyle} tabLabel='体育'>体育1</Text>
<Text style={styles.textStyle} tabLabel='娱乐'>娱乐1</Text>
<Text style={styles.textStyle} tabLabel='科技'>科技1</Text>
<Text style={styles.textStyle} tabLabel='军事'>军事1</Text>
<Text style={styles.textStyle} tabLabel='体育'>体育1</Text> </ScrollableTabView>
);
}
} module.exports = News;

2)样式Style文件

NewsStyle.js

/**
* 新闻主页样式
*/
import {StyleSheet} from 'react-native'; export const styles = StyleSheet.create({
container: {
flex: 1,
marginTop: -4,
},
lineStyle: {
height: 1,
backgroundColor: '#FF0000',
},
textStyle: {
flex: 1,
fontSize: 16,
marginTop: 20,
textAlign: 'center',
},
}); module.exports = styles;

本博客地址: wukong1688

本文原文地址:https://www.cnblogs.com/wukong1688/p/10832079.html

转载请著名出处!谢谢~~

[RN] React Native 使用 React-native-scrollable-tab-view 实现 类头条 新闻页头部 效果的更多相关文章

  1. 【React Native】React Native项目设计与知识点分享

    闲暇之余,写了一个React Native的demo,可以作为大家的入门学习参考. GitHub:https://github.com/xujianfu/ElmApp.git GitHub:https ...

  2. Native VS React Native VS 微信小程序

    随着React Native和 微信小程序的出现,Native一家独大的局面出现裂痕,很多小公司使用已经正在着手微信小程序和React Native了,我公司就已经走上React Native之路.那 ...

  3. React Native 开发之 (07) 常用组件-View

    掌握了React Native的组件就可以使用IOS的原生组件和API. 一 View组件 就像开发web应用程序中,需要使用很多的HTML标签.例如 div,form.但是在基于DIV+CSS布局的 ...

  4. React Native & react-native-web-player & React Native for Web

    React Native & react-native-web-player & React Native for Web https://github.com/dabbott/rea ...

  5. React Native之React速学教程(下)

    概述 本篇为<React Native之React速学教程>的最后一篇.本篇将带着大家一起认识ES6,学习在开发中常用的一些ES6的新特性,以及ES6与ES5的区别,解决大家在学习Reac ...

  6. React Native之React速学教程(中)

    概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...

  7. React Native之React速学教程(上)

    概述 本篇为<React Native之React速学教程>的第一篇.本篇将从React的特点.如何使用React.JSX语法.组件(Component)以及组件的属性,状态等方面进行讲解 ...

  8. WHAT IS THE DIFFERENCE BETWEEN REACT.JS AND REACT NATIVE?

    Amit Ashwini - 09 SEPTEMBER 2017 React.js was developed by Facebook to address its need for a dynami ...

  9. react系列从零开始-react介绍

    react算是目前最火的js MVC框架了,写一个react系列的博客,顺便回忆一下react的基础知识,新入门前端的小白,可以持续关注,我会从零开始教大家用react开发一个完整的项目,也会涉及到w ...

随机推荐

  1. Fiddler抓包8-打断点(bpu)(转)

    转自:https://www.cnblogs.com/yoyoketang/p/6778006.html

  2. 论DOM中文档和元素的位置大小属性及其区别

    element.offsetLeft/Top  获取元素相对于最近的有定位的父元素的坐标,如果没有有定位的父元素,则是文档坐标 element.scrollTop/Left 获取元素滚动卷去的距离 e ...

  3. string.Compare()方法

    判断字符串中是否包含一个值 返回一个值,该值指示指定的 String 对象是否出现在此字符串中. String a = "abcd"; if(source.a("a&qu ...

  4. 一个爬虫的demo,requests,beatuifulsoup使用的

    爬虫的demo,requests,beatuifulsoup import os,re import requests import random import time from bs4 impor ...

  5. 【转载】C#中List集合使用LastIndexOf判断元素最后一次出现的索引位置

    在C#的List集合操作中,有时候需要判断元素对象在List集合中第一次出现的索引位置信息,此时需要使用到List集合的IndexOf方法来判断,如果元素存在List集合中,则IndexOf方法返回所 ...

  6. 使用原生JS 修改 DIV 属性

    本例参考并改进自:https://www.jianshu.com/p/2961d9c317a3 大家可以一起学习!! <!DOCTYPE html> <html lang=" ...

  7. JS中的七大数据类型

    js中有7种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)以及es6语法新增的Symbol数据类型 es ...

  8. 【android,eclipse解决】eclipse insert "}" to complete ClassBodyR.java

    Android开发:eclipse搭建后,如果出现 eclipse insert "}" to complete ClassBodyR.java/appcompat_v7/gen/ ...

  9. Celery:Monitor

    参考文档:http://docs.celeryproject.org/en/latest/userguide/monitoring.html#guide-monitoring

  10. day 04 作业 预科

    目录 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定义方式和使用方法. 数字类型 字符串类型 列表 字典 词云图 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定 ...