在创建Layout,
时,我可以跨FitWindowsLinearLayout
进行拍摄,但似乎无法理解LinearLayout
和FitWindowsLinearLayout
之间的区别。
那么,我们什么时候应该使用FitWindowsLinearLayout
?
FitWindowsLinearLayout
最佳答案
首先,正如您所看到的,它是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说明。
关于android - LinearLayout和FitWindowsLinearLayout有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46987487/