2012-03-24 9 views
0

Androidアプリケーションの作成経験がある人にはアドバイスが必要です。私が本当に好きなのは、アプリケーションの外観です:上部には、ImageView(コンテンツはpng)のタイトルバーと、下部には、物事のようなタブバーを構成する一連のカスタムボタン。タイトルとタブバーの間には何か...(ほとんどのボタンのような)コンテンツがありますアプリケーションのアクティビティを通して永続的なビジュアルデータ(イベントドリブンボタンとImageView)を管理する

これは、x、y座標のLeftMarginとUpperMarginを指定するRelativeLayoutを作成することでこれを行っています。 現在、私のすべてのアクティビティは、カスタムのMyActivityクラスを継承しています。これは、onCreateの時点でタイトルとタブバーを再構築します。これは私にとって悪いようです!

PART1) ---「タブ・バー」以来永続データを解決 とタイトルは関係なく、あなたは、このアプリケーションの実行時ににしているものを画面の永続的ではない、それは保存するために、最も理にかなっていますどこかで...どうすればいい?アクティビティが要求するシングルトンオブジェクトを作成しますか?
アクティビティA中に表示されているビューは、アクティビティAをアクティビティAとし、アクティビティBを持っていないので、シングルトンオブジェクトについて少し考えました。私は何を保存するかもわかりません。

PART2) ---アニメーションの美学 「コンテンツ」(タイトルとタブバーの中間のビュー)を左にスライドさせ、新しいコンテンツを右からスライドさせたいと思います。私は、「活動」が変わっている間にタブバーとタイトルを固定しておきたいと思います。これはすべて可能ですか?それを達成するために私は何をすべきですか?

1つのアイデアは、1つのアクティビティですべてのプログラムを作成することでした!真ん中にカスタムビューのアニメーションを作成し、前のカスタムビューに正しく移動するために「戻る」ボタンをオーバーライドします。それはひどい考えですか?

誰でもアドバイスをお持ちですか?

答えて

1

http://developer.android.com/designを読んでください。ほとんどの設計原則は、従来のリリースで実行されるアプリケーションに適用できます。ハニカムとアイスクリームサンドイッチに限られているわけではありません。アクションバーとダッシュボードのデザインパターンを検討してください。

アクティビティを1つだけ使用することはお勧めできません。通常、アクティビティは、別のアクティビティとは独立して実行できる、カプセル化された、かなり明確な機能のチャンクでなければなりません。

あなたのUIが重複しないように、reusing XML layoutsとしてください。

論理の重複を避けるには、Fragmentsを使用することを検討してください。あなたはあなたの活動の中でそれらを混ぜ合わせることができるはずです。

アニメーションを実現するには、ViewPagerを実装することを検討してください。

ActionBarCompatサンプルアプリとAndroidサポートライブラリを使用すると、Androidをすべて実行しているデバイスのアクションバー、フラグメント、タブ、水平スライディングトランジションなどのモダンな機能をDonut(1.6)に戻すことができます。

+0

この情報はすべて非常に便利です。しかし、私は(すべてを解決する)FragmentsがAndroid 3.0以降でのみ利用可能であることを知りました。私は2.3で動作し、3.0よりも低いAndroidユーザーを制限したくありません。私はカスタムビューを作ることができなかったことをフラグメントが行うことは何ですか?カスタムビューに直接スライドする複数のビューに対して1つのアクティビティしか持たないという危険性は...? –

+1

アンドロイド互換パッケージを使用して、すべてのプラットフォームにフラグメントを適用します。1.6 – Akhil

+0

フラグメントなしですべてを行うことができますが、より多くの労力が必要になることがあります。フラグメントは、アプリケーションの機能領域をカプセル化するのに最適です。例えば、フラグメントはライフサイクルコールバックを知っているので、それを使用する各アクティビティで状態を保持するコードを別途追加する必要はありません。アクティビティ(SDK <11のFragmentActivity)はすでにフラグメントコンテナです。あなたのアクティビティを断片に分解することはできませんが、ツールボックスの中ではパワーツールです。あなたはナイフと木製の木槌だけを使ってキャビネットを作ることができますが、あなたはしたいですか? – Sparky

関連する問題