RN Android 在componentDidMount调用ListView的scrollTo没有效果

RN Android 在componentDidMount调用ListView的scrollTo没有效果

目的

对ListView 进行初始化,使其刚进入时滑动到特定的条目。

现象

Android手机在componentDidMount中调用LIstView 的scrollTo并没有用

 componentDidMount() {
 	this.listRef.scrollTo({ x: 0, y: index * this.optionHeight, animated: true });
 }

解决办法

因为Android在初始化View的时候先进行测量,调用Android View自带的onMeasure进行测量,然后再调用View中的onLayout方法进行布局,如果在这之前RN 调用ListViewscrollTo方法,并不会起作用。所以可以过一段时间后再调用就不会存在问题。

  componentDidMount() {
	 setTimeout(() => {
     this.listRef.scrollTo({ x: 0, y: index * this.optionHeight, animated: true });
     },20);
   }

版权声明:本文为gongziwushuang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。