0

Mortar ビューは、さまざまなレイアウト (LinearLayout、RelativeLayout など) から継承します。

すべてのビューで共有されるいくつかの基本的な機能が必要です。

問題は、ビューが異なるレイアウトから継承されているため、継承を使用できないことです。

通常、この問題をどのように解決しますか?

4

1 に答える 1

0

インフレーションを表示するプロキシとして機能する FrameLayout から派生した特別なクラスがあります。カスタム属性があります: layoutResId、layoutPhoneResId、layoutTabletResId、layoutEmptyResId、layoutLoadingResId。これらは、他のリソース (任意のレイアウト) への参照です。LayoutDirector を (onFinishInflate() で) インフレーションした後、これらのレイアウト ビューはインフレーションされ、子としてこのビューに追加されます。このアプローチにより、タブレットと電話のさまざまなビュー (特別な条件による)、カスタムの空のビューと読み込み中のビューをインフレートできます。これにより、すべてのビューで機能を共有することもできます。

于 2014-07-08T10:41:40.340 に答える