React-Native ListView加载图片淡入淡出效果的组件

今天练习项目中需要给listview在加载图片时增加一个淡入淡出的效果,因此干脆就自己封装了一个组件:

 1 ‘use strict‘
 2
 3 import React from ‘react-native‘
 4
 5 var {
 6   Animated,
 7   PropTypes
 8 } = React
 9
10 class AniImage extends React.Component {
11   static propTypes = {
12     url: PropTypes.string,
13     inputRange: PropTypes.array,
14     outputRange: PropTypes.array
15   };
16   render () {
17     var { style, url, inputRange, outputRange } = this.props
18     this._animatedValue = new Animated.Value(0)
19     let interpolatedColorAnimation = this._animatedValue.interpolate({
20       inputRange: inputRange,
21       outputRange: outputRange
22     })
23     return (
24       <Animated.Image
25         onLoadEnd={() => {
26           Animated.timing(this._animatedValue, {
27             toValue: 100,
28             duration: 500
29           }).start()
30         }}
31         source={{uri: url}}
32         style={[style, {opacity: interpolatedColorAnimation}]} />
33     )
34   }
35 }
36
37 module.exports = AniImage

那么如何调用呢?

一、导入 AniImage

二、调用

1 <AniImage
2  inputRange={[0, 100]}
3  outputRange={[0, 1]}
4  style={styles.aniImage}
5  url={‘http://192.168.6.5:8888/getImage?imgName=‘ + commidities.imgPath1} />

这样就看到想要的效果啦。

https://github.com/weifengzz/GuoKu

在github上可以看到我的完整项目哦。

时间: 2024-10-07 20:00:09

React-Native ListView加载图片淡入淡出效果的组件的相关文章

Android进阶:ListView性能优化异步加载图片 使滑动效果流畅

ListView 是一种可以显示一系列项目并能进行滚动显示的 View,每一行的Item可能包含复杂的结构,可能会从网络上获取icon等的一些图标信息,就现在的网络速度要想保持ListView运行的很好滚动流畅是做不到的 所以这里就需要把这些信息利用多线程实现异步加载 实现这样功能的类 [java] view plaincopy public class AsyncImageLoader { private HashMap<String, SoftReference<Drawable>&

jQuery oLoader实现的加载图片和页面效果

oLoader使用方法 不管是oLoader还是oPageLoader都是基于jQuery,所以调用前请先加载jquery库,作者已经将两个插件集成到一起:jquery.oLoader.min.js,已经打包好请戳源码下载. 调用jQuery oLoader非常简单,一句话如下: [js] view plaincopy $('#element').oLoader(); 使用oLoader加载图片: [js] view plaincopy $(function(){ $('img').oLoade

javascript 图片淡入淡出效果 实例源代码

? 1 代码说明:把代码粘贴好之后,需要更改html代码中的图片路径,即可执行成功.<br>后面还有对js代码的详细说明,希望大家好好消化,好好理解.<br><br>html源代码: 1 <head> 2 <title>图片切换</title> 3 <script type="text/javascript" src="图片切换.js"></script> 4 <l

实现淡入淡出效果的组件,继承自JComponent

由于仅贴出代码,供有缘人参考. import java.awt.AlphaComposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JComponent; import javax.swing.Timer; public abstract cl

listview加载图片显示

Adapter:   ---- //adapter的构造方法:   参数1 为url数组: public static String[] mList;// 讲url保村在静态的String[] 中 在其他类可以直接调用 public MyListAdapter(String[] list, Context context, ListView listView) { this.mList = list; this.mContext = context; bitmapUtils = new Http

ListView 加载图片错乱问题

ListView 图片错乱的根本问题是:ListView 布局复用导致的,也就是复用convertView导致的 解决: 1,用第三方的ImageLoader 2,自己处理最主要的就是给ImageView设置Tag,保证ImageView要加载的图片就是从网络上获取的图片 3,通过ListView Item 移除屏幕监听RecyclerListener方式 代码: 1 //设置默认图片 imgHolder.imgView.setImageResource(R.drawable.ic_launch

ListView 加载图片

1. 滑动的时候不加载,停止才加载: 监听 : setOnScrollListener listView.setOnScrollListener 这种写法 很 复杂 http://www.csdn 这个去掉 123.com/html/exception/688/688284_688290_688281.htm 2. 滑过去之后,取消之前的图片请求 几个出名的第三方 都做到了.

React Native 首次加载白屏优化

RN首次加载都会有个白屏过程,一般都会有500ms+的白屏时间,原生页面开发同样的页面会能够快速显示而在RN页面中有个明显的等待过程,这个会影响用户体验. 1.使用过度页面 简单处理可以在白屏过程中加个过度页面,通过设置RCTRootView的loadingView添加默认的加载过程 /** * A view to display while the JavaScript is loading, so users aren't presented * with a blank screen. B

android 队列模仿listview同步加载图片

我们今天在listview加载图片都是异步的,如果有个需求要求listview同步加载图片,同步加载图片是什么意思呢?就是第一张图片下载好了,然后接着第二张图片下载,依次类推,今天就简单的模仿写个简单的,而且下载的图片还要缓存到SD卡中 思路: 队列是用LinkedList集合模拟, 缓存:当图片下载成功了把当前图片对应的url经过md5加密存到sd卡中的某个子文件夹下,当用户再次进来的时候,可以adapter中判断这个url是否存在,如果存在就加载这个url对应的图片,就达到了缓存的目的 代码