回答

1

首先,你可以看到它是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說明。