ViewGroup
カスタムを別のカスタムに追加するさまざまな方法をデバッグするのに 1 日を費やしましたが、ViewGroup
どれも機能せず、その方法を示す公式のドキュメントやサンプルがないため、ほぼ夢中になりました...
基本的に、私は2つのカスタムを持っていますViewGroup
:
HorizontalDockView
伸びるViewGroup
GameEntryView
伸びるFrameLayout
HorizontalDockView
、などをオーバーライドonDraw
し、onMeasure
すべてが正常に呼び出され、完全に機能します。ただし、GameEntryView
内部HorizontalDockView
のコンストラクターから作成して を呼び出すaddView(gameEntryView)
と、がどのスレッドから呼び出されたかにgameEntryView
関係なく、親で呼び出し、ロード、および setContentView が表示されることはありません。すべてのオブジェクトを一覧表示すると、まだそこにあります。layoutParams
addView
HorizontalDockView
horizontalDockView.getChildAt();
gameEntryView
絶望的です、私は GameEntryView のonDraw
, onMeasure
,dispatchDraw
メソッドを介してデバッグしようとしましたが、実際にはどれも呼び出されないことに気付きました! いいえ.. 一度もありません!
親 (HorizontalDockView の) on* 呼び出しですべての子ビューを反復処理し、子の on* を明示的に呼び出す必要がありますか? 親で super.on*() を呼び出していました。
setWillNotDraw( false );
親クラスと子クラスの両方を呼び出しました。
親のビュー内に子を表示するにはどうすればよいですか? 簡単なサンプルまたは既存の小さなオープン ソース プロジェクトは大歓迎です!
どうもありがとうございました!