LinearLayout和FitWindowsLinearLayout有什么区别?

时间:2017-10-28 07:53:11

标签: android android-layout layout android-linearlayout android-view

虽然在Layout,内创建了FitWindowsLinearLayout我,但似乎无法理解LinearLayoutFitWindowsLinearLayout之间的区别。

那么,我们什么时候应该使用FitWindowsLinearLayout

FitWindowsLinearLayout

1 个答案:

答案 0 :(得分:3)

首先,您可以看到它是annotated with @hide,这意味着它不会暴露给公共API。这意味着你不应该使用它。

其次,回答你的问题:正如你从实现中看到的那样,它有一个公共方法,它设置了一个监听器:


    public void setOnFitSystemWindowsListener(OnFitSystemWindowsListener listener) {
        mListener = listener;
    }

调用fitSystemWindows(Rect)时会调用此侦听器:


    @Override
    protected boolean fitSystemWindows(Rect insets) {
        if (mListener != null) {
            mListener.onFitSystemWindows(insets);
        }
        return super.fitSystemWindows(insets);
    }

这意味着,您可以按照以下方式检索Rect insets


    FitWindowsLinearLayout layout = new FitWindowsLinearLayout(context);

    layout.setOnFitSystemWindowsListener(new OnFitSystemWindowsListener() {
        boolean onFitSystemWindows(Rect insets) {
            // interact with `insets`
            return true;
        }
    })

要知道什么是插入内容,请参阅this解释。