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. 3、Linux目录操作

    1.目录操作概述 2.ls显示目录内容 命令名称:ls 命令英文原意:list 命令所在路径:/bin/ls 执行权限:所有用户 功能描述:显示目录文件 ls  -a    显示目录下的所有文件(包括 ...

  2. poi读取excel的列和删除列

    (各自根据具体的poi版本进行相应的替换即可) package com.br.loan.strategy.common.utils; import lombok.extern.slf4j.Slf4j; ...

  3. Visual Studio 2012 VC下 OpenGL 配置与使用

    Windows环境下的GLUT下载地址:(大小约为150k)    Download 1 32位Windows环境下安装GLUT的步骤1.将glut.h复制到C:\Program Files (x86 ...

  4. 提取线条的lines_color、lines_facet、 lines_gauss算子

    Halcon中线条提取的算子主要有: lines_color(Image : Lines : Sigma, Low, High, ExtractWidth, CompleteJunctions : ) ...

  5. dmesg命令

    用于检测和控制内核环缓冲.程序用来助用户了解系统的启动信息 Linux命令dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中 开机信息保存在/var/log目录中名称为 ...

  6. Linux E667 同步失败

    在使用Vim编辑/proc目录下的文件后,保存,显示"E667 同步失败" 原因 因为proc这个目录是一个虚拟文件系统,它放置的数据都是在内存中,本身不占有磁盘空间,所以使用Vi ...

  7. unittest管理接口用例

    1.加入unittest框架 #coding=utf-8 import requests import unittest class TestApi(unittest.TestCase): def s ...

  8. vim 配置遇到的问题

    1 使用 Vundle 安装插件时提示输入 github 账户密码 .vimrc 中 Plugin ‘路径' 的路径填写错误,仔细检查下 2 在 vim 中执行 shell 命令(如 ls)会闪退 . ...

  9. Pyspark中遇到的 java.io.IOException: Not a file 和 pyspark.sql.utils.AnalysisException: 'Table or view not found

    最近执行pyspark时,直接读取hive里面的数据,经常遇到几个问题: 1.  java.io.IOException: Not a file —— 然而事实上文件是存在的,是 hdfs 的默认路径 ...

  10. Linux一些服务的启动命令

    http:服务service httpd start 启动 service httpd restart 重新启动 service httpd stop 停止服务 启动ssh服务 # /etc/init ...