1

iOSからAndroidにギアを切り替えていますが、Androidでビュー構成をどのように再利用するのか疑問に思いました。iOSでは、通常BaseViewController、アプリが「テーマ化」される方法を処理するを作成し、どこでも、常に(または条件付きで)利用できるようにしたいいくつかの一般的なビューコンポーネントを構成しました。BaseViewController次に、ビュー固有のニーズに合わせてサブクラス化します。これは、この種のことを処理するための理想的な方法ではないかもしれませんが、私にとってはうまくいきました。

Androidでは、何をすべきかわかりません。

ビューの構成に使用できるオプションははるかに多いようです。iOSのように、XMLレイアウトファイルからインフレートするか、プログラムでビューを作成することで、ビューを作成できることを私は知っています。Activityまた、Javaは継承を提供するため、クラスを拡張できることも知っています。したがって、いくつかのパスが表示されます。ファイルを作成しbase_view.xmlて将来のレイアウトファイルに含めることができますが、これは何らかの理由でハッキーだと思います。base_view.xmlまた、そのファイルを作成し、実装不可能なクラスで使用して、実装可能でアクティビティ固有のバージョンにBaseActivityサブクラス化することもできます。または、サブクラスBaseActivityでプログラム的に実行することもできます。BaseActivity私はまた、これのいくつかを単純化するかもしれないAndroidの「テーマ」オプションを漠然と知っています。

私はこれを間違った方法で行っていること、そして以前にいくつかのビュー構成を再利用することに対処しなければならなかった何千人もの人々がいることをほぼ確信しています。

4

3 に答える 3

1

再利用したいものはたくさんあります。あなたは私たちが望むほど具体的ではありません。たとえば、これらは再利用したいもののほんの一部です。

  • スタイルとテーマ:アプリの外観だけが気になる場合は、テーマを作成してアプリケーション全体に適用するだけです。android:themeこれを行うには、ファイルのアプリケーションタグで属性を構成しAndroidManifest.xmlます。
  • 基本的なレイアウト:ご存知かもしれませんが、Androidアプリは通常アクションバーのUIパターンを使用します。そのようなことについてはBaseActvitiy、アクションバーを処理および構成するを作成できます(ioschedアプリのソースコードを確認してください)。ただし、これらの場合に私がお勧めするのは、ActionBarSherlockのようなライブラリに固執することです。これにより、作業がより簡単になります。
  • 動作:たとえば、すべてのアクティビティに検索ボタンが必要で、startSearchメソッドを呼び出すだけです。そのような場合、継承が推奨されます。
  • UIコンポーネント:たとえば、いくつかのダイアログを再利用したい。これらのケース、およびほとんどのOOPケースでは、継承よりも構成が推奨されます。これらのケースのほとんどでは、アクティビティ参照を(として)渡す必要があることがわかりますContext。この場合、そして一般的に、Fragments APIを使用できるように、サポートライブラリに固執することを強くお勧めします。最初はどういうわけか使いにくいかもしれませんが、努力する価値は確かにあります。

あなたのニーズがより具体的であるならば、私がどのように進めるかについてアドバイスすることを試みることができるように、コメントすることを躊躇しないでください。

于 2012-04-16T16:14:05.347 に答える
0

どのようなビュー構成について話しているのですか?物事を複雑にしすぎているように聞こえますが、達成しようとしていることによってはそうではないかもしれません。こちらのAndroid開発者サイトのビューに関するさまざまなチュートリアルを確認しましたか?それはあなたの質問のいくつかに答えるのに役立つかもしれません。

于 2012-04-16T16:07:53.940 に答える
0
  1. プログラムでレイアウトを設定しないことをお勧めします。xmlを使用すると、ほとんどすべての宣言型の処理を実行できます(アニメーション、タブレット、ポートレート、横向きのさまざまなdpiなどの特別なレイアウト)ドキュメントを読むと、後で面倒な作業を大幅に減らすことができます:-)
  2. includeタグを付けてレイアウトxmlファイルを含めることにより、それらを再利用できます。ここに良い説明があります
  3. 異なるアクティビティで同じコードがある場合は、通常、アクティビティをサブクラス化します。2つのアクティビティが共通の見解を共有している場合は、2を参照してください。)
  4. 一方、スタイルとテーマは、アクティビティまたはアプリ(テーマ)内の特定のビュー(スタイル)すべてのビューの外観を変更するために使用されます。ドキュメント-

これがお役に立てば幸いです。

于 2012-04-16T16:19:17.140 に答える