私が作成したiOSアプリケーションをAndroidに移植する方法を学習中です。 ActivityGroupまたはFragmentActivityのいずれであるかに関わらず、複数のアクティブなアクティビティを一度に画面上に表示する方法を理解する上で問題があります。 ActivityGroupは廃止されましたが、ほとんどの場合、最善のアプローチのようです。フラグメントアクティビティの処理
詳細を知る前に、適切な(または最良の)アプローチを決定する助けをいくつか使用することができます。ここで
は、私が作成しようとしていますものです:
アプリは3種類の視覚的なセクションに分割する必要があります:持続ダイナミックバナーの 1)トップ50dp。 2)他のアクティビティへのナビゲーションを可能にし、自身を置き換えるアイコンを持つビューページダッシュボードの中央にあるメインコンテンツエリア。 3)ボトム30 dpミュージックプレーヤーバー。
本質的には、広告バーとプレーヤバーはメインのコンテンツ領域とは独立しています。例えば、メインコンテンツエリアでボタンを押すと、トラックのリストビュー、ウェブビュー、マップビューなどの新しいアクティビティにメインコンテンツエリアを置きたいと思います。戻るボタンは、メインコンテンツ領域をダッシュボードビューページャに移動します。
メインのコンテンツ領域をフルスクリーンにするためにトップバーとボトムバーを隠すことができる場合もあります。また、3つのすべてを視覚的に置き換えるフルスクリーンのアクティビティを希望するケースもあります
私は、FragmentActivityによって制御される上部の断片、中間のビューページ、および下部の断片にアプリケーションを分けるFragmentActivityをまとめることができましたが、これは次のように思えますフラグメントがアクティビティそのものではなく、ビュー・ページャを新しいアクティビティに置き換えると、FragmentActivity自体全体を置き換える必要があるため、最良のアプローチではありません。
このフォーマット(2.1以降のサポート)を実装するための最良のレイアウト手法は何でしょうか。
おかげで、 ジェームズ
追加現在のコード:
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<fragment
android:name="com.dmi.AnywhereArtist.AdFragment"
android:layout_width="320dp"
android:layout_height="50dp"
android:id="@+id/ad_fragment" >
</fragment>
<android.support.v4.view.ViewPager
android:layout_width="fill_parent"
android:layout_height="0dp"
android:id="@+id/main_pager"
android:layout_weight="100"
android:background= "#00aa00" />
<fragment
android:name="com.dmi.AnywhereArtist.PlayerFragment"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:id="@+id/player_fragment" >
</fragment>
</LinearLayout>
[OK]をクリックします。私は、私の最大の混乱がどこであるかは、アクティビティのようなライフサイクルを持つ独立したクラスを持っているので、フラグメントをどのように扱うことができるかということです。たとえば、メインエリアにViewPagerを使用している場合、完全に異なるコンテンツ(つまりテーブル)で置き換える方法と、メインビューのページャーダッシュボードとは別にそのコンテンツの処理を保持する方法メインのコンテンツエリアには、ダッシュボード以外のビューページャーのように機能したくないと思います。 –
@ JamesR.Cahall:「ダッシュボードの場合を除いて、メインのコンテンツエリアにビューポケベルのように機能したいとは思わない」 - うーん、両方の方法をとることはできません。ユーザーはスワイプでダッシュボードを離れることはできますが、スワイプで戻ることはできず、 'ViewPager'を使用することはできません。ダッシュボードと 'ViewPager'は連携してほとんど意味をなさないが、Android開発者の使い方とは異なる方法で用語を使用している可能性がある。それにもかかわらず、メインのコンテンツ領域を 'FrameLayout'にし、' FragmentTransactions'を使用してそこに表示されているフラグメントを切り替えることは大歓迎です。 – CommonsWare
したがって、私の主な領域がViewPagerではなくFrameLayoutであり、FragmentTransactionsを使用している場合、ViewPagerをフラグメント内に置くことはできますか?私が見たすべての例では、ViewPagerにアクティビティを拡張し、onCreateViewのフラグメントフォーマット(LayoutInflaterインフレータ、ViewGroupコンテナ、 バンドルsavedInstanceState)に対して作成しました。 –