0

在我的应用程序中,我有两个片段,其中一个 (FragmentSlidingUp) 可以向上滑动并完全覆盖另一个 (FragmentContent)。我使用这个库来向上滑动https://github.com/umano/AndroidSlidingUpPanel。我遇到的问题是,当 FragmentSlidingUp 向上滑动并且 FragmentContent 不可见时,FragmentContent 中的 LiveData 观察者没有暂停。有没有办法在片段不可见时将片段生命周期状态设置为暂停,以便当片段再次可见时 LiveData 观察者将自动暂停和恢复?谢谢。

4

1 回答 1

1

因为这个库使用了一个窗口覆盖,所以我认为不可能在你的“FragmentContent”类中说出来,但是你可以做的是为滑动面板设置一个监听器,然后在滑动状态打开时调用 FragmentContent。这是要点。

    slidingPanelLayout.addPanelSlideListener(new PanelSlideListener() {
        @Override
        public void onPanelSlide(View panel, float slideOffset) {
            Log.i(TAG, "onPanelSlide, offset " + slideOffset);
        }

        @Override
        public void onPanelStateChanged(View panel, PanelState previousState, PanelState newState) {
            Log.i(TAG, "onPanelStateChanged " + newState);
            // Here's where you test the state, when open tell fragmentcontent to pause
        }
    });
于 2017-10-26T04:20:54.453 回答