1

New York Times Android アプリは、アクション バーのスピナーを使用してセクション ナビゲーションを提供します。ユーザーが「トッ​​プ ニュース」から始めて、別のセクションに移動すると、コンテンツ領域が置き換えられ、「上」ナビゲーションの左向きの矢印がアクション バーのロゴに追加されます。いくつセクションを切り替えても、矢印の付いたロゴをクリックすると、必ず「トップ ニュース」に戻ります。また、矢印付きのロゴの代わりにアクション バー スピナーを使用して「トップ ニュース」に戻ると、ロゴの矢印が適切に失われます。(標準機能)

NYタイムズのスクリーンショット

これを適応させるための最初のアプローチは、セクション コンテンツ (ListView) をフラグメントに入れ、ユーザーがセクションを変更するたびにアクティビティ内のそのフラグメントを置き換えることでした。コンテンツの置換は見事に機能しますが、「上」ナビゲーションを実装できず、フラグメントで実装するための適切なリソースも見つかりませんでした。

これをどのように設計すればよいか悩んでいます。私は 3 つの主要なアプローチを考えています。

  1. コンテンツ置換用のフラグメントを使用して、すべてのセクションを 1 つのアクティビティの一部として引き続き使用します。メソッドを使用して「上へ」ナビゲーションを実装します (何?) 私が設計または検索できませんでした。

  2. 各セクションに独自のアクティビティを与え、ユーザーがアクション バーのスピナーから新しいインテントを開くたびに、新しいインテントを起動します。新しいインテントのアクション バーのスピナーが、ロード時にそのアクティビティのセクションを反映するように強制します。

  3. #2 と同じですが、セクション アクティビティのバリエーションではなく、「トップ ニュース」に相当する独自のアクティビティを提供します。おそらくこれは、アプリが「トップニュース」で起動されるため、より理にかなっているでしょう。ナビゲーションのトップレベルにしたいのです。

または、私が考えていなかったより良いアプローチがあるかもしれません。設計のアドバイスと関連するリソース (特にサンプル コードやコードのアドバイスを含むリソースですが、入手できるものは取り上げます) へのリンクを提供していただければ幸いです。

4

1 に答える 1

1

NY Times アプリでは、この機能が 1 つのアクティビティにあり、View Pages を使用してさまざまなビュー間を移動します。メモリを節約し、パフォーマンスの低いデバイスのサポートを可能にするために、スクロール ビューを使用して、カスタム MVC フレームワークを介して要素をメモリにロードする必要がある場合に通知します。

これは 2011 年から 2012 年にかけて実施されたものです。

どうすればわかりますか?私はそれを書きました。:)

于 2013-09-03T13:29:58.123 に答える