0

を表示する画像にレイアウトを作成するために、フラグメントを使用することができ、画像のスクリーンショットです:は、どのように私はここで

enter image description here

私のクエリは、私はスタックレイアウトを示す実装できる方法ですか?私は、リソースファイルを精査して、たった2つの断片を実装する方法を示しています。

私はどのように示されているようにスタックフラグメントを作成することができますの例を教えてください?

ありがとうございます。ありがとう。

+0

私は本当にいくつかの大きな助けが必要です! – user788511

+0

いいプレゼンテーションの男のために+1 –

答えて

0

一つの可能​​な解決策は、あなたのフラグメントがある場合はポートレートビューの使用について

<LinearLayout android:orientation="vertical" ..> 
    <fragment android:name="com.example.FragmentA" 
     android:id="@+id/fa" 
     android:layout_width="match_parent" 
     android:layout_height="Xdp" /> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <fragment android:name="com.example.FragmentB" 
     android:id="@+id/fb" 
     android:layout_width="ydp" 
     android:layout_height="wrap_content" /> 
     <fragment android:name="com.example.FragmentC" 
     android:id="@+id/fc" 
     android:layout_width="wrap_cotent" 
     android:layout_height="wrap_content" /> 
    </LinearLayout> 
</LinearLayout> 
+0

ありがとうRajdeep。小さな質問。断片化layout_widthをプログラムで設定してxmlファイルに修正しない方法がありますか?本当にありがとう。 – user788511

+0

はい、フラグメントのonCreateViewメソッドから返されたビューの幅を設定することができます –

+0

Rajdeep、私の無知を言い訳してください、私は初心者です、あなたは幅を設定する方法を示すonCreateビューでいくつかの小さなコードを書く助けてください?本当にありがとう。 – user788511

2

<LinearLayout android:orientation="horizontal" ..> 
    <fragment android:name="com.example.FragmentA" 
     android:id="@+id/fa" 
     android:layout_width="xdp" 
     android:layout_height="match_parent" /> 
    <LinearLayout android:orientation="vertical" ...> 
     <fragment android:name="com.example.FragmentB" 
     android:id="@+id/fb" 
     android:layout_width="ydp" 
     android:layout_height="wrap_content" /> 
     <fragment android:name="com.example.FragmentC" 
     android:id="@+id/fc" 
     android:layout_width="zdp" 
     android:layout_height="wrap_content" /> 
    </LinearLayout> 
</LinearLayout> 

を使用景観については、ユースケース

に応じて、幅と高さを微調整してください 以下に示します。密接に結びついていて、別々の活動でそれらを実行しないでください。単一ペインの場合、1つのアクティビティ内でフラグメントを切り替えることができます。

それ以外の場合は、アクティビティ間でそれらを区切りたい場合は、結果を伝播するonActivityResult()モデルを使用する必要があります。また、デュアルウィンドウのケースでは、2番目の呼び出しonActivityResult最初の断片のFragment.setTargetFragment()には、これを容易にするためのリクエストコード引数が含まれています。

I have activity A loading Fragment F1 which loads fragment F2 

IMHOでは、フラグメントは他のフラグメントをロードすべきではありません。アクティビティは、使用可能な画面領域に基づいてフラグメントをロードします。フラグメントは、現在のアクティビティーに他のフラグメントが存在するかどうか、または他のフラグメントが他のアクティビティーに存在するかどうかを認識してはいけません。

I have F2 calling back to activity A to pop it off of the stack. Should I then be looking at passing a message to F1 to do what it needs to do? 

はい。

私はF1でもF2が存在することさえ知りません。その逆もあります。ユーザーがF1で何かを実行して大きな文脈のシフト(例えば、他のいくつかのフラグメント/アクティビティを表示する)を行った場合、F1はおそらくF1に登録されたリスナーインターフェースを介して(おそらく複数の可能なホスティング活動をサポートするために) 。アクティビティは、それ自身のアクティビティまたは別のアクティビティのいずれかにF2が表示されるように調整します。同様に、F2がラップアップすると、リスナーインターフェースを介してホスティングアクティビティが知らされ、そのアクティビティはコントロールを適切な場所に戻すことができます。

F2がDialogFragmentでない限り、あなたの全体の "F2はそれが閉じられた結果をもたらすアクションを実行する"アプローチにやや懐疑的です。

+0

マイクあなたの議論が好きです。 1つのアクティビティ内でフラグメントを切り替える方法を参照できるリンクがありますか? – user788511

関連する問題