同时更改View的位置并将底边保持在固定位置

时间:2015-12-07 16:53:09

标签: android android-layout android-view android-custom-view ontouchevent

问题

因此,假设我有一个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();
}

我对此人的期望!

有没有更好的方法呢?有任何建议/帮助/修改吗?

0 个答案:

没有答案