如何验证在创建的活动中视图是否可见?

时间:2019-02-26 19:03:36

标签: android android-activity

我有一个带有FAB和一个按钮的ScrollView布局。我的按钮设置在滚动条的底部,滚动时检查是否可见,如果隐藏,则隐藏我的FAB。当手机屏幕变大并且我的内容可以完全固定在屏幕上而不滚动时,就会出现我的问题,所以我被按钮卡住了,FAB覆盖了我的按钮。 因此,我的问题是:创建视图后,如果我的按钮没有显示给用户,如何立即检查,以便我隐藏FAB?

我已经尝试使用onPostCreated,onStart,onCreate和onResume。我正在直接使用活动。

我以这种方式验证我的按钮是否可见:

private void controlFabVisibility() {
    if (isViewVisible(binding.btnCall)) {
        binding.fabUpList.hide();
    } else {
        binding.fabUpList.show();
    }
}

private boolean isViewVisible(View view) {
    Rect mReact = new Rect();
    binding.nsvFreights.getHitRect(mReact);
    return view.getLocalVisibleRect(mReact);
}

有什么建议吗?

0 个答案:

没有答案