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. Quartz时间配置(周期任务)

     序号 说明  是否必填  允许填写的值 允许的通配符  1  秒  是  0-59    , - * /  2  分  是  0-59   , - * /  3 小时  是  0-23   , - ...

  2. kafka使用SASL_PLAINTEXT做用户认证

    使用SASL/PLAIN认证 server端1.配置brokerkafka_server_jaas.conf内容KafkaServer {org.apache.kafka.common.securit ...

  3. shell 遍历目录下的所有文件

    dir=/usr/local/nginx/logs for file in $dir/*; do echo $file done //结果 ./test.sh /usr/local/nginx/log ...

  4. pandas-04 多级index操作

    pandas-04 多级index操作 在pandas中可以为series和dataframe设置多个index,也就是说可以有多级index和column.这样可以对pandas的操作更加灵活. i ...

  5. 用vue-cli搭建vue项目

    首先需要明确的是:Vue.js 不支持 IE8 及其以下 IE 版本,一般用与移动端,基础:开启最高权限的DOS命令(否则会出现意外的错误提示) 一.安装node.js,检测版本node -v,还要检 ...

  6. property Alternative forms propretie

    property Alternative forms propretie English English Wikipedia has articles on: Property (disambigua ...

  7. EVM靶机渗透

    前言 靶机下载地址: https://download.vulnhub.com/norzhctf/Basilic.ova 通过渗透靶机来学习相关知识以便提高在真实环境的渗透能力 ==. 安装: 我是用 ...

  8. iOS网络请求之数据解析

    JSON解析 IOS中Json解析的四种方法 NSURLConnection-网络请求浅析 IOS开发:官方自带的JSON使用 XML 解析 GDataXMLNode应用 IOS学习:常用第三方库(G ...

  9. Scala快速入门 - 基础语法篇

    本篇文章首发于头条号Scala快速入门 - 基础语法篇,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的 ...

  10. Maven的SNAPSHOT版本找不到

    有时一个SNAPSHOT版本的包,明明打包部署到私服了,却还是报错找不到,比如: [WARNING] The POM for com.foo:bar:jar:0.4.0-20130404.093655 ...