從官方文檔:爲什麼在更改= false時重複調用view.onLayout()?
protected void onLayout (boolean changed, int left, int top, int right, int bottom)
Parameters
changed This is a new size or position for this view
left Left position, relative to parent
top Top position, relative to parent
right Right position, relative to parent
bottom Bottom position, relative to parent
爲什麼我的自定義視圖與changed=false
反覆叫什麼?這是正常的嗎?
這裏的調用樹:
Synoptic.onLayout(boolean, int, int, int, int) line: 130
Synoptic(View).layout(int, int, int, int) line: 11282
Synoptic(ViewGroup).layout(int, int, int, int) line: 4224
RelativeLayout.onLayout(boolean, int, int, int, int) line: 925
RelativeLayout(View).layout(int, int, int, int) line: 11282
RelativeLayout(ViewGroup).layout(int, int, int, int) line: 4224
LinearLayout.setChildFrame(View, int, int, int, int) line: 1628
LinearLayout.layoutHorizontal() line: 1617
LinearLayout.onLayout(boolean, int, int, int, int) line: 1401
LinearLayout(View).layout(int, int, int, int) line: 11282
LinearLayout(ViewGroup).layout(int, int, int, int) line: 4224
SwipeView(FrameLayout).onLayout(boolean, int, int, int, int) line: 431
SwipeView(HorizontalScrollView).onLayout(boolean, int, int, int, int) line: 1382
SwipeView.onLayout(boolean, int, int, int, int) line: 154
SwipeView(View).layout(int, int, int, int) line: 11282
SwipeView(ViewGroup).layout(int, int, int, int) line: 4224
LinearLayout.setChildFrame(View, int, int, int, int) line: 1628
LinearLayout.layoutVertical() line: 1486
LinearLayout.onLayout(boolean, int, int, int, int) line: 1399
LinearLayout(View).layout(int, int, int, int) line: 11282
LinearLayout(ViewGroup).layout(int, int, int, int) line: 4224
FrameLayout.onLayout(boolean, int, int, int, int) line: 431
FrameLayout(View).layout(int, int, int, int) line: 11282
FrameLayout(ViewGroup).layout(int, int, int, int) line: 4224
LinearLayout.setChildFrame(View, int, int, int, int) line: 1628
LinearLayout.layoutVertical() line: 1486
LinearLayout.onLayout(boolean, int, int, int, int) line: 1399
LinearLayout(View).layout(int, int, int, int) line: 11282
LinearLayout(ViewGroup).layout(int, int, int, int) line: 4224
PhoneWindow$DecorView(FrameLayout).onLayout(boolean, int, int, int, int) line: 431
PhoneWindow$DecorView(View).layout(int, int, int, int) line: 11282
PhoneWindow$DecorView(ViewGroup).layout(int, int, int, int) line: 4224
ViewRootImpl.performTraversals() line: 1514
ViewRootImpl.handleMessage(Message) line: 2467
ViewRootImpl(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 137
ActivityThread.main(String[]) line: 4424
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 511
ZygoteInit$MethodAndArgsCaller.run() line: 784
ZygoteInit.main(String[]) line: 551
NativeStart.main(String[]) line: not available [native method]
有人請求佈局? –
我內部的其餘部分似乎是靜態的(沒有動畫),但是有很多相對佈局。 –