问题
因此,假设我有一个ViewPager(或任何其他视图,但让我们考虑ViewPager),它包含在RelativeLayout中,其中AlightParent的顶部,底部,右侧和左侧为TRUE。像:
<com.test.MyRelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/fragment_container"
>
<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:id="@+id/pager"
>
</android.support.v4.view.ViewPager>
</com.test.MyRelativeLayout>
现在,我正在使用OnInterceptTouchEvent()和OnTouchEvent()跟踪MyRelativeLayout上的触摸事件,并希望将ViewPager的上边缘从0移动到 y (将来自OnTouchEvent( ))顶部的像素,但保持屏幕底部的底边
- 我明确要求这个(保持底边)出于某种原因,比如ViewPager可能有一个ListView,如果Pager的底边低于屏幕的底边,我可能最终会进入裁剪ListView的内容。
现在,情况并没有像预期的那样发展。 ViewPager的底部边缘似乎悬挂在屏幕的某个位置。
当前实施
因此,我们不要深入了解如何实现此回调。我正在接触正确的 dy 触摸运动。
public void movePager(float dy) {
mPager.setTranslationY(mPager.getTranslationY() + dy);
mPager.getLayoutParams().height = mPager.getLayoutParams().height - (int)dy;
mPager.requestLayout();
}
我对此人的期望!
有没有更好的方法呢?有任何建议/帮助/修改吗?