React Native 使用 FlatList 和 ScrollView 实现 下拉刷新时,RefreshControl 控件不起作用, 后来经查明,原来 RefreshControl 要加在 ScrollView 的属性中,而不是 像普通 只有 FlatList 时,加在 FlatList 属性中. 下面是代码: <ScrollView showsVerticalScrollIndicator={false} //下拉刷新 ,有 ScrollView 需要加载ScrollView,无则加到…
React Native 让 Flatlist  支持  选中多个值,并获取所选择的值 实现效果如下: 实现代码: import React, {Component} from 'react'; import { Image, Text, View, TouchableOpacity, FlatList, StyleSheet, Button } from 'react-native'; export default class TestListCheck extends Component {…
React Native 使用 FlatList 实现九宫格布局 先看图片演示实例: 本文以图片列表为例,实现九宫格布局! 主要有两种方法: 1)方法一: 利用FlatList的 numColumns ={} // 一行2个 2)方法二: 利用 FlatList的 contentContainerStyle={styles.listViewStyle} 其中样式如下: listViewStyle: { // 主轴方向 flexDirection: 'row', // 一行显示不下,换一行 fle…
 FlatList可以利用官方组件 RefreshControl实现下拉刷新功能,但官方没有提供相应的上拉加载的组件,因此在RN中实现上拉加载比下拉刷新要复杂一点. 不过我们仍可以通过FlatList的onEndReached与onEndReachedThreshold属性来实现相应效果. 我们以github提供的api为例   先查看效果:     具体实现代码如下: import React, {Component} from "react"; import {ActivityIn…
API doc:http://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html 首先须把你的support library的版本升级到19.1或更新 效果: 使用超级简单! 在layout中添加SwipeRefreshLayout <android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schema…
1. 两个要点 1.1 ScrollView必须有一个确定的高度才能正常工作 它实际上所做的就是将一系列不确定高度的子组件装进一个确定高度的容器(通过滚动操作) 通常有两种做法: 第一种: 直接给该ScrollView进行高度设置(不建议) 第二种: ScrollView中不要加{flex:1} ScrollView内部的其他响应者尚无法阻止ScrollView本身成为响应者 2. ScrollView中常用的属性 contentContainerStyle StyleSheetPropType…
一.前言 从iOS开发的经验来看,scrollView无疑是移动开发中很重要的一个组件,比如后面会学到的ListView就是继承自它.那么,在开发中比如:焦点图.引导页等地方都有其的影子,那接下来我们一起来搞定它! 一个包装了平台的ScrollView(滚动视图)的组件,同时还集成了触摸锁定的“响应者”系统. 两个要点: a)ScrollView必须有一个确定的高度才能正常工作 它实际上所做的就是将一系列不确定高度的子组件装进一个确定高度的容器(通过滚动操作). 通常有两种做法: 第一种: 直接…
公司项目,需要用到ScrollView的下拉刷新,一开始使用的时候PullToRefresh三方库的下拉刷新,我比较纠结第三档库,很强大,但是,公司项目的需求,PullToRefresh就不能做到了,改来改去的还是自己写一个下拉刷新比较靠谱,很多东西能够自己去控制.效果图就不上传了.直接解释关键代码. ScrollView的下拉刷新比ListView的好做多了. 因为ScroTo的性质,ScrollView的下拉刷新,需要在外部添加一个父布局,通过父布局来控制触摸手势时候下传,什么时候下拉. 我…
React Native FlatList跳转到顶部/底部 核心代码如下: <ScrollView showsVerticalScrollIndicator={false} contentContainerStyle={styles.container} //下拉刷新 ,有 ScrollView 需要加载ScrollView,无则加到 FlatList refreshControl={ <RefreshControl refreshing={this.state.isRefreshing} o…
[RN] React Native 幻灯片效果 Banner 1.定义Banner import React, {Component} from 'react'; import {Image, ScrollView, StyleSheet, Text, View,} from 'react-native'; var banner = [ "http://a.hiphotos.baidu.com/image/pic/item/ac4bd11373f08202e2518d6d45fbfbedaa64…
React Native之FlatList的介绍与使用实例 功能简介 FlatList高性能的简单列表组件,支持下面这些常用的功能: 完全跨平台. 支持水平布局模式. 行组件显示或隐藏时可配置回调事件. 支持单独的头部组件. 支持单独的尾部组件. 支持自定义行间分隔线. 支持下拉刷新. 支持上拉加载. 支持跳转到指定行(ScrollToIndex). 如果需要分组/类/区(section),请使用<SectionList>. FlatList和SectionList都是以Virtualized…
[RN] React Native 实现图片预览 效果预览: 代码如下: 'use strict'; import React, {Component} from 'react'; import {Image, StyleSheet, Text, View, ViewPagerAndroid, Dimensions} from 'react-native'; const {width, height} = Dimensions.get("window"); //图片地址 const P…
[RN] React Native  常见基本问题归纳总结 本问题总结涉及到版本为: "react": "16.8.3","react-native": "0.59.5", 1.图片问题 1)本地图片放二级目录下不显示 原因:二级目录下图片无法访问 解决方法:直接放在和代码文件同级目录 2)网络图片无法加载问题 原因: a.高版本下http链接无法识别   b.图片未设置 width , height 解决方法 a.要么设置支…
[RN] React Native 关闭所有黄色警告 console.ignoredYellowBox = ['Warning: BackAndroid is deprecated. Please use BackHandler instead.','source.uri should not be an empty string','Invalid props.style key']; console.disableYellowBox = true // 关闭全部黄色警告 将这两句话加在ind…
上一篇文章 [RN] React Native 下实现底部标签(不支持滑动切换) 总结了不支持滑动切换的方法,此篇文章总结出 支持滑动 的方法 准备工作之类的,跟上文类似,大家可点击上文查看相关内容. 不同点在于 /src/App.js 下 主要使用 react-navigation 下的 createMaterialTopTabNavigator 所以也需要先安装 react-navigation 1)依赖版本如下: "react-navigation": "^3.9.1&…
[RN] React Native 常用命令行 1.查看当前版本 react-native --version 或 react-native -v 2.创建指定版本的React Native项目 1)先安装react-native版本,以0.50.0为例 npm install --save react-native@0.50.0 2)以指定版本,创建项目 react-native init demo --version 0.50.0 3.在项目中切换 react-native 版本 1)先修改…
[RN] React Native 实现 类似QQ 登陆页面 一.主页index.js 项目目录下index.js /** * @format */ import {AppRegistry} from 'react-native'; import App from './src/js/App'; import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); 二.App.…
属性 添加头部组件 ListHeaderComponent属性用来给FlatList添加头部组件 简单使用: //ES6之前写法 _header = function () { return ( <Text style={{fontWeight: 'bold', fontSize: 20}}>热门电影</Text> ); } <FlatList ListHeaderComponent={this._header}//header头部组件 /> 添加尾部组件 ListFo…
我直接封装成了一个组件 props参数为 static propTypes = { style:PropTypes.object, // 样式 refreshing:PropTypes.bool.isRequired,//是否开始下拉刷新动画 refreshBegin: PropTypes.func,// 开始下拉刷新回调 scrollEnd: PropTypes.func,// 触底回调 }; 使用示例 import React from 'react'; import { View, } f…
经过几天的反复折腾,总算做出一个体验还不错的列表页了,主要支持了下拉刷新,上拉加载两个功能. 一开始直接采用了react-iscroll插件,它是基于iscroll插件开发的组件.但是开发过程中,发现它内部封装的行为非常固化,限制了我对iscroll的控制能力,因此我转而直接基于iscroll插件实现. 网上也有一些基于浏览器原生滚动条实现的方案,找不到特别好的博客说明,而iscroll是基于Js模拟的滚动条(滚动条也是一个div哦),其兼容性更好,所以还是选择iscroll吧. 先体验效果 在…
今天做了一个弹性ScrollView,和下啦刷新的效果类似,我想这个很多需求都用的这种效果 其实这是一个自定义的scrollView,上代码,这是我写在一个公共的组件包里的 package com.pb.soft.widget; import android.content.Context; import android.graphics.Rect; import android.util.AttributeSet; import android.view.MotionEvent; import…
相信会碰到很多类似的需求,一个列表控件,然后控件上方的一个头部需要自定义,这样就不好有时候也不能加在列表控件的头部了,那必须得嵌套一层scrollview了,没毛病,那么一般的列表控件都是有上拉下拉的操作,而且一般也是在 github 上找寻一个收藏量高的 来做为一个全局通用的上下拉控件,这里问题就来了,一般的 scrollview 嵌套 recyclerview 或者 listview 都毕竟容易解决,可是在加上一层上下拉控件呢?上下拉控件肯定会有它自己的触摸处理机制,这样你改起来也很麻烦,这…
一般在列表展示页面,会使用到上拉加载和下拉刷新功能,在scroll-view中有bindscrolltolower事件,可以实现上拉加载功能,但是却没法实现下拉刷新. 如需同时使用两种功能,解决步骤如下(以list页面为例): 1. 将scroll-view 改成普通的view, 并且设置样式 // list.wxsspage { height: %; } .container { width: %; height: %; // 或者 height: 100vh; } // 其他样式略 2. 在…
原理:就是动态改变ScrollView header的margin实现 主要的代码: http://blog.csdn.net/swust_chenpeng/article/details/39289721 代码其实还是比较容易,但是但是,自己还是花了很多时间,脑袋瓜不够灵活呀... 下面是ScrollViewHeader的代码: public class ScrollViewHeader extends RelativeLayout { public final static int STAT…
<scroll-view class="movie-grid-container" scroll-y="true" scroll-x="false" bindscrolltolower="loadMoreMovie"> <block wx:for="{{movies}}" wx:key="{{item}}"> <view class="movie&…
在写着东西之前.从网上找到非常多这方面的源代码,可是基本没有找到惬意的.包含在GitHub上的比較有名的Android-PullToRefresh-master.思来想去还是自己写吧.当然当中借鉴了一些别的开源代码! 废话不多说,直接上代码.凝视非常全乎,应该不难理解,Demo下载地址在最后: package com.zs.pulltorefreshtest; import android.content.Context; import android.util.AttributeSet; im…
今天做了一个弹性ScrollView,和下啦刷新的效果类似,我想这个非常多需求都用的这样的效果 事实上这是一个自己定义的scrollView,上代码.这是我写在一个公共的组件包里的 package com.pb.soft.widget; import android.content.Context; import android.graphics.Rect; import android.util.AttributeSet; import android.view.MotionEvent; im…
最近项目要实现ScrollView中嵌套广告轮播图+RecyleView卡片布局,并且RecyleView按照header和内容的排列样式,因为RecyleView的可扩展性很强,所以我毫无疑问的选择了它,而且让RecyleView实现了可拖拽的效果, 最后我再加上了下拉刷新的效果(这里我用的下拉刷新控件是三方的SmartRefreshLayout).记得刚开始实现这个效果的时候还是十分的得心印手.可是当我测试的时候,发现RecyleView的子item的拖拽效果并不流畅,起初我以 为是由于Re…
PullRefreshRecyclerView.java /** * 类说明:下拉刷新上拉加载更多的RecyclerView * Author: gaobaiq * Date: 2016/5/9 18:09 */ public class PullRefreshRecyclerView extends PullRefreshView { /** * 内置的RecyclerView: */ private RecyclerView mRecyclerView; /** * 可见的最后一个item…
1.在微信小程序中,想到 下拉刷新 和 上拉加载,如果是整个页面都拖动的话,可以在页面配置中,配置 enablePullDownRefresh 和 onReachBottomDistance 然后在 .js 中 使用 Page.onPullDownRefresh 和 Page.onReachButton 这样来进行. 2.上面的做法是官方推荐我们做页面的 下拉刷新 和 上拉加载 所使用的方法.但某种情况比如头部是固定的,但使用上面的方法,整个页面都拉动,会显得很奇怪.这个时候,我们的滚动实际上是…