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();
}
}