下拉显示全部图片

android:layout_height="0dp"
        android:layout_weight="1"   android:scaleType="center" 缩放类型

layout_weight表示按原比例1显示,需要与layout_height配合使用。

自定义一个Linerlayout

监听手势下拉这个动作,使用Scroll这个类进行滚动

scroller = new Scroller(getContext(), new AccelerateDecelerateInterpolator());

滑动的时候重新布局

// 滑动时候,重新定位上面的布局和下面的布局
						iv2.layout(left, t, left + iv2.getWidth(), t + iv2.getHeight());
						iv1.layout(0, 0, iv1.getWidth(), t);

手指放开的时候弹回去// 抬起手的时候,慢慢的回到原先位置 iv1H - iv2.getTop()表示移动了多少距离。dy表示距离差

scroller.startScroll(iv2.getLeft(), iv2.getTop(), 0 - iv2.getLeft(), iv1H - iv2.getTop(), 200);
				invalidate();

会自动调用此方法

@Override
	public void computeScroll() {
		if (scroller.computeScrollOffset()) {
			int x = scroller.getCurrX();
			int y = scroller.getCurrY();
			System.out.println("x=" + x);
			System.out.println("y=" + y);
			iv1.layout(0, 0, x + iv1.getWidth(), y);
			iv2.layout(x, y, x + iv2.getWidth(), y + iv2.getHeight());
			invalidate();
		}
	}

 
下拉显示全部图片
  

相关推荐