防止嵌套在ScrollView中的视图滚动到屏幕顶部

时间:2014-09-05 14:38:05

标签: android user-interface scrollview

我有一个带有LinearLayout的ScrollView,LinearLayout有几个孩子。其中一个子项是包含导航选项的Horizo​​ntalScrollView。当应用程序加载时,顶部有一些内容,屏幕中间有菜单,下面有更多内容。我希望菜单能够将屏幕与其他内容一起向上滚动,但当它开始滚动屏幕时,锁定到顶部类似标题。如果用户向下滚动,它应保持固定,直到其下的所有内容都滚动,然后再次开始滚动,这样如果它们一直滚动,屏幕看起来与它开始的方式相同。现在我有了这个初步尝试,似乎什么也没做:

final View carouselMenu = rootView.findViewById(R.id.carousel_menu);
ScrollView scrollView = (ScrollView) rootView.findViewById(R.id.main_scroll);
RelativeLayout mainContainer = (RelativeLayout) rootView.findViewById(R.id.main_root_container);

    scrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
        @Override
        public void onScrollChanged() {
            if (carouselMenu.getScrollY() < 0) {
                carouselMenu.setScrollY(0);
            }
        }
    });

setScrollY似乎没有像我希望的那样设置View的绘制位置。有没有办法手动覆盖屏幕上放置特定视图的位置,还是我没有考虑过的更好的方法?

0 个答案:

没有答案