0

アプリケーションのアクティビティ間で継承を行おうとしています。
すべてのアプリケーションに「一般的な活動」スタイルを作成したいと考えています。

たとえば、この「一般的な活動」には と が含まれtoolbarますstatusbar。プログラムの各アクティビティで両方を表示したいと考えています。

私はそのBaseActivityようなレイアウトを書きました:

<include layout="@layout/titlebar" />
<!-- Some control that can contain layout -->
<include layout="@layout/statusbar" />

そしてMainActivity、それは拡張しBaseActivityます。の特定のスペースに
のレイアウトをコードに挿入したいと考えています。MainActivityBaseActivity

それは可能ですか?はいの場合、これの特定のスペースで継承アクティビティのレイアウトを設定するにはどうすればよいBaseActivityですか? レイアウトを含むことができるコントロールはありますか?

4

2 に答える 2

1

確かに、その可能性があります。Javaの継承と同じように行います。を作成する必要がBaseActivityありますextend Activity。あなたの他のActivities,意志extend BaseActivity。常にではありませんが、一般的に、あなたはあなたBaseActivityになりたいと思うでしょうabstract class。そのインスタンスを作成する必要はありません。したがって、setContentViewから呼び出す必要がありEXTENDING Activityます。そうすれば、それぞれActivityが独自のレイアウトを持つことになります。

于 2012-10-19T12:51:36.780 に答える
1

これは Java 側から可能です (私はまだ試していないことに注意してください)

これは、レイアウトを介して行うこともできます。

ツールバーまたはステータス バー用に別のレイアウト (xml) を作成し、必要なレイアウトに含める必要があります。

レイアウトを再利用すると役立つリンクとAndroid レイアウトの秘訣 #2: 再利用に含める

于 2012-10-19T13:05:33.190 に答える