Mortar ビューは、さまざまなレイアウト (LinearLayout、RelativeLayout など) から継承します。
すべてのビューで共有されるいくつかの基本的な機能が必要です。
問題は、ビューが異なるレイアウトから継承されているため、継承を使用できないことです。
通常、この問題をどのように解決しますか?
Mortar ビューは、さまざまなレイアウト (LinearLayout、RelativeLayout など) から継承します。
すべてのビューで共有されるいくつかの基本的な機能が必要です。
問題は、ビューが異なるレイアウトから継承されているため、継承を使用できないことです。
通常、この問題をどのように解決しますか?
インフレーションを表示するプロキシとして機能する FrameLayout から派生した特別なクラスがあります。カスタム属性があります: layoutResId、layoutPhoneResId、layoutTabletResId、layoutEmptyResId、layoutLoadingResId。これらは、他のリソース (任意のレイアウト) への参照です。LayoutDirector を (onFinishInflate() で) インフレーションした後、これらのレイアウト ビューはインフレーションされ、子としてこのビューに追加されます。このアプローチにより、タブレットと電話のさまざまなビュー (特別な条件による)、カスタムの空のビューと読み込み中のビューをインフレートできます。これにより、すべてのビューで機能を共有することもできます。