(1000, 470); }else{ gridView.smoothScrollBy(300, 1000);...}else{ listView.smoothScrollBy(300, 1000); } } } })...}else{ listView.smoothScrollBy(-300, 1000); } } } }...); 通过smoothScrollBy,我们可以控制页面的滚动,我们看下在HorizontalScrollView类中的smoothScrollBy,smoothScrollTo的源码: /**...---- 预告 下一篇,我将整理下scrollTo,scrollBy,smoothScrollBy,smoothScrollTo的资料,以对页面滑动相关的方法有更加清晰的认识。
smoothScrollTo(disX, 0); return super.onTouchEvent(event); } // 3、根据坐标差 调用smoothScrollBy...{ int dx = fx - mScroller.getFinalX(); int dy = fy - mScroller.getFinalY(); smoothScrollBy...(dx, dy); } // 4、调用startScroll设置坐标,然后invalidate重绘 public void smoothScrollBy(int dx, int
} Runnable run_scroll_up = new Runnable() { @Override public void run() { /** * public void smoothScrollBy...* duration Duration of the scroll animation in milliseconds. */ listview.smoothScrollBy(1, 10...10); } }; Runnable run_scroll_down = new Runnable() { @Override public void run() { listview.smoothScrollBy...(-1, 10); handler.postDelayed(run_scroll_down, 10); } }; } 实现ListView位置变动的是smoothScrollBy方法。...public void smoothScrollBy (int distance, int duration) Smoothly scroll by distance pixels over duration
想完全把mScrollX和mScrollY,scrollTo()和scrollBy(),smoothScrollTo和smoothScrollBy弄明白并不容易,但查阅他们的源代码基本就能明白个大概,这篇文章就是从源码分析他们究竟有什么作用和区别...http://blog.csdn.net/xiangyong1521/article/details/77826942 目录 mScrollX和mScrollY scrollTo()和scrollBy() smoothScrollBy...---- 三.smoothScrollTo和smoothScrollBy ScrollView.smoothScrollBy和smoothScrollTo的源码 /** * Like {@link...axis * @param dy the number of pixels to scroll by on the Y axis */ public final void smoothScrollBy...smoothScrollTo(int x, int y): 从源码中看出,它实际上是调用了smoothScrollBy(x - mScrollX, y - mScrollY);方法 根据x,y的值来计算剩余可滚动的位移量
当然还可以用用其它的View (3) HorizontalScroll内部使用到的OverScroller 缺省滑动的时间为DEFAULT_DURATION = 250 ms (4) 可以平滑也可以瞬间滑动,平滑则调用smoothScrollBy...瞬间滑动则调用 scrollBy(int x,int y) scrollTo(int x,int y) HorizontalScrollView 与滚动有关的常用方法 public final void smoothScrollBy...此扩展HorizontalScrollView有如下特点: (1) 可禁用手势滑动,只能通过调用scrollBy,scrollTo,smoothScrollBy, smoothScrollTo来滑动(因为每个步骤切换是通过点击下一步...的扩展,增加了滚动监听 * * @see {@link HorizontalScrollView#smoothScrollBy(int, int)} * @param dx * @param...dy */ public final void smoothScrollByExt(int dx, int dy) { super.smoothScrollBy(dx, dy); /
1.对于滚动,我们可以调用 RecyclerView.smoothScrollBy() 方法, 相对于 ScrollBy() 方法,该方法能够实现平滑滑动。 我设置了总共显示九句歌词。...AutoPullRecyclerView (autoPullRecyclerView); } @Override public void run() { autoPullRecyclerView.smoothScrollBy...同样的,还是需要使用 smoothScrollBy() 方法移动。而移动多少呢?这是个问题。这个要分为四种情况: 第一种: 当前歌词在屏幕之外:由于我是打算将歌词移动到屏幕中的第四个位置。...autoPullRecyclerView.getChildAt(autoPullRecyclerView.currentWord-firtPosition).getTop(); autoPullRecyclerView.smoothScrollBy...(0,top-(4*height)); //++ } }else { // 第四种 autoPullRecyclerView.smoothScrollBy(0
(0, -scrollY); break; case RELEASE_REFRESH: STATE = REFRESHING; smoothScrollBy(0, -refreshHeadviewHeight...mOnPullListener.onRefresh(); } break; case REFRESHING: if (getScrollY() < -refreshHeadviewHeight) { smoothScrollBy...(0, -refreshHeadviewHeight - scrollY); } else { smoothScrollBy(0, -scrollY); } break; } mVelocityTracker.clear...mLastY = y; return true; } /** * 当用户使用完下拉刷新回调时,需要调用此方法,将头不去隐藏,将STATE恢复 */ public void refreshFinish() { smoothScrollBy..., Toast.LENGTH_SHORT).show(); } /** * 在500毫秒内平滑地滚动多少像素点 * * @param dx * @param dy */ private void smoothScrollBy
smoothScrollTo(int fx, int fy) { int dx = fx - mScroller.getFinalX(); int dy = fy - mScroller.getFinalY(); smoothScrollBy...(dx, dy); } //调用此方法设置滚动的相对偏移 public void smoothScrollBy(int dx, int dy) { //设置mScroller的滚动偏移量
if (mCurrentSelectPosition == (mLinearLayoutManager.findFirstVisibleItemPosition())) { mRecyclerView.smoothScrollBy...if (mCurrentSelectPosition == (mLinearLayoutManager.findLastVisibleItemPosition())) { mRecyclerView.smoothScrollBy
我们可以通过smoothScrollBy来让RecyclerView按X或者Y轴进行滚动。那我们这里到底应该滚动多少距离才对呢?,咱们来计算一下吧 ?...findViewById<LinearLayout (R.id.dialog_layout_comment)) rv_main.smoothScrollBy(0, rvInputY - (dialogY...notifyDataSetChanged() } rv_main.smoothScrollBy(0, rvInputY - (dialogY - rvInputHeight)) }, 300)
isShow){ //侧边栏已经显示 mySrollView.smoothScrollBy...menu.setVisibility(View.VISIBLE);//************* mySrollView.smoothScrollBy...} //TranslateAnimation构造函数里面的参数是from和to; //scrollview的smoothScrollBy
mRecyclerView.smoothScrollToPosition(position); } else if (position <= lastItem) { // 跳转位置在firstItem 之后,lastItem 之间(显示在当前屏幕),smoothScrollBy...来滑动到指定位置 int top = mRecyclerView.getChildAt(position - firstItem).getTop(); mRecyclerView.smoothScrollBy
() { int dialogY = getY(dialog.findViewById(R.id.dialog_layout_comment)); // 滑动列表 rv.smoothScrollBy
immediate) { scrollBy(dx, dy); } else { smoothScrollBy...downView.getTop() + downView.getHeight() / 2 - getHeight() / 2; this.smoothScrollBy...getHeight() / 2 - (upView.getBottom() - upView.getHeight() / 2); this.smoothScrollBy
n) { int top = mRecyclerView.getChildAt(n - firstItem + 1).getTop(); mRecyclerView.smoothScrollBy...} else { int top = mRecyclerView.getChildAt(n - firstItem).getTop(); mRecyclerView.smoothScrollBy
int sx = childIndex * mChildWidth - scrollX; //通过Scroller来平滑滑动 smoothScrollBy...int scrollY = getScrollY(); if (scrollY < 0) { smoothScrollBy...(-scrollY); } else if (mContentHeight <= mHeight) { smoothScrollBy...(-scrollY); } else if (mContentHeight - scrollY < mHeight) { smoothScrollBy
{ int dx = fx - mScroller.getFinalX(); int dy = fy - mScroller.getFinalY(); smoothScrollBy...(dx, dy); } public void smoothScrollBy(int dx, int dy) { //设置滚动偏移量,注意正数是往左滚往上滚,负数才是往右滚往下滚...float offsetX = e2.getRawX() - e1.getRawX(); float offsetY = e2.getRawY() - e1.getRawY(); tv_rough.smoothScrollBy
position; } else if (position <= lastItem) { // 跳转位置在第一个可见项之后,最后一个可见项之前 // smoothScrollToPosition根本不会动,此时调用smoothScrollBy...(movePosition).getMeasuredWidth()/2; Log.d("BottomPagerView", "smoothMove: "+scroll); mRecyclerView.smoothScrollBy
如果想实现平滑移动: listView.smoothScrollBy(distance,duration); listView.smoothScrollBy(offset); listView.smoothScrollToPostion
smoothScrollBy(int dx, int dy):平滑地将ScrollView滚动指定的偏移量,会有滚动动画效果。
领取专属 10元无门槛券
手把手带您无忧上云