0

Activity クラスにはaddContentView()、追加のビュー レイヤーを簡単に追加するために使用できるメソッドが呼び出されていました。BaseFragmentに似たメソッドを持つ独自のクラスを作成したいと思いますaddContentView()。最小限のコードでこれを達成する簡単な方法はありますか? Fragment.getView()それを使用できるので、常に a であることに依存できればいいのですNoSaveStateFrameLayoutが、これは Android の実装が異なると変わる可能性があると思います。

ルートとしてa を使用してカスタム レイアウトを作成できることはわかっていますが、理想的には、ソリューションを特定のクラスFrameLayoutに固有のものではなく、再利用可能なフレームワークにしたいと考えています。Fragment

4

1 に答える 1

0

私が知る限り、これを行うためのクリーンでエレガントな方法はありません。

私が頼ったのはこれです:

ビューを取り、Frame レイアウト内でラップし、結果として FrameLayout を返す wrapInFrame(View) というユーティリティ メソッドを作成しました (サポート ライブラリ ソースから基本的な実装を盗みました)。独自のカスタム ビューをラップするには、このメソッドを onCreateView メソッドから呼び出す必要があります。

フラグメントのビュー階層のルートに FrameLayout を配置すると、階層化の実装が非常に簡単になります。

于 2013-06-28T17:24:56.943 に答える