使用ViewTreeObserver水平ScrollView完全滚动焦点

时间:2012-02-23 13:29:47

标签: android android-layout android-widget

我正在动态地将对象添加到水平滚动视图中,当我添加下面的代码时工作正常向右移动,现在问题是当我尝试通过交换手指向后滚动到左侧时,下面的代码再次运行和水平scrollview再次滚动到右上角,它有点烦人,任何人都有一些替代解决方案,我试过了

  

Postdelayed()

但它对我来说无法正常工作

ViewTreeObserver viewTreeObserver = hScrollView.getViewTreeObserver();
        if (viewTreeObserver.isAlive()) {
            viewTreeObserver
                    .addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
                        @Override
                        public void onGlobalLayout() {
                            // interestedInView is ready for size and position
                            // queries because it has been laid out
                            hScrollView
                                    .fullScroll(HorizontalScrollView.FOCUS_RIGHT);
                        }
                    });
        }

此致 MGD

1 个答案:

答案 0 :(得分:0)

是你的layoutlistener在创建滚动视图时将视图一直滚动到右边?如果是这样,那么你应该删除onGlobalLayout函数中的事件监听器,否则它将在布局时向右滚动。