Autore Topic: Problema con SlidingPaneLayout e 3 fragment nello stesso layout  (Letto 650 volte)

Offline Mikykly91

  • Utente junior
  • **
  • Post: 91
  • Respect: 0
    • Google+
    • Mostra profilo
  • Dispositivo Android:
    Htc one, Nexus 7 2013
  • Play Store ID:
    Michele Marconi
  • Sistema operativo:
    Surface 2 pro win 8.1
Problema con SlidingPaneLayout e 3 fragment nello stesso layout
« il: 19 Febbraio 2014, 13:04:26 CET »
0
ciao a tutti, come da titolo il mio problema riguarda la visualizzazione in un solo layout di 3 fragment.
Per i primi 2 fragment: la lista a sinistra e l'altra lista a destra non ci sono problemi visto che ho seguito alla riga questo tutorial [medio] Il nuovo SlidingPaneLayout - Android Developers Italia di Gabriele mariotti il problema è nel 3 fragment(un fragment che mi faccia vedere il riepilogo dell'ordinazione) che vorrei tenere SEMPRE nascosto e farlo comparire a tutto schermo solo quando faccio click su l'icona del blocco notes in alto a destra o con uno swipe a sinistra.
Ho fatto diversi tentativi ma non saprei come modificare il mio .xml activity_main, il layout assume comportamenti strani.

Praticamente il layout che usa Facebook per aprire la parte destra della chat: o si scorre con lo swipe o si clicca sopra l icona in alto.


Vi allego 2 foto e il codice cosi potete comprendere meglio il problema.


Codice (XML): [Seleziona]
<android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/sliding_pane_layout"
   android:layout_width="match_parent"
   android:layout_height="match_parent" >

    <!--
        The first child view becomes the left pane. When the combined
        desired width (expressed using android:layout_width) would
        not fit on-screen at once, the right pane is permitted to
        overlap the left.-->

    <fragment
       android:id="@+id/list_pane"
       android:name="com.michele.restaurantxpress.ListFragmentCategorie"
       android:layout_width="180dp"
       android:layout_height="match_parent"
       android:layout_gravity="left" />

    <!--
        The second child becomes the right (content) pane. In this
        example, android:layout_weight is used to express that this
        pane should grow to consume leftover available space when the
        window is wide enough. This allows the content pane to
        responsively grow in width on larger screens while still
        requiring at least the minimum width expressed by
        android:layout_width.  -->

    <fragment
       android:id="@+id/content_pane"
       android:name="com.michele.restaurantxpress.FragmentPietanze"
       android:layout_width="350dp"
       android:layout_height="match_parent"
       android:layout_weight="1"
       
       android:layout_marginLeft="50dp"
       
       android:paddingLeft="16dp"
       android:paddingRight="16dp"  />  
   

</android.support.v4.widget.SlidingPaneLayout>

grazie anticipatamente
« Ultima modifica: 19 Febbraio 2014, 13:50:52 CET da Mikykly91 »

Offline crc_error

  • Utente junior
  • **
  • Post: 85
  • Respect: +8
    • Mostra profilo
  • Dispositivo Android:
    LG-P500
  • Sistema operativo:
    Windows 8, Ubuntu 12
Re:Problema con SlidingPaneLayout e 3 fragment nello stesso layout
« Risposta #1 il: 21 Febbraio 2014, 19:29:13 CET »
0
Ciao la soluzione più semplice che mi viene in mente è racchiudere il riepilogo e il fragment "dettaglio" dentro un layout (Linear o Relative come ti pare..)

I pratica adesso hai un layout stile:

Codice (XML): [Seleziona]
 <activity>
  <slidingpanelayout>
   <fragment master />
   <fragment detail /> <!-- dettaglio in base alla selezione nella lista master -->
  </slidingpanelayout>
 </activity>

Per inserire il riepilogo devi fare racchiuderlo in una viewgroup così:

Codice (XML): [Seleziona]
 
<activity>
  <slidingpanelayout>
   <fragment master />
   <RelativeLayout>
    <fragment detail /> <!-- dettaglio in base alla selezione nella lista master -->
    <fragment riepilogo android:visibility="gone" android:layout_width="match_parent" android:layout_height="match_parent" />
   </RelativeLayout>
  </slidingpanelayout>
 </activity>

L'icona block notes deve fare un toggle di visibilità tra il fragment "detail" e quello del riepilogo...

Altrimenti puoi usare un FrameLayout al posto del fragment detail e usare il .replace() per togliere il dettaglio e instanziare il fragment del riepilogo..
Vedi te credo siano valide entrambe come soluzioni. Entrambe hanno dei pro e contro, ma forse la prima è quella che da meno grane poi vedi te ;)


Ciao
« Ultima modifica: 21 Febbraio 2014, 19:30:46 CET da crc_error, Reason: Odio risposta rapida e le su "personalizzazioni" »

Offline arlabs

  • Utente normale
  • ***
  • Post: 430
  • Respect: +49
    • Mostra profilo
  • Dispositivo Android:
    GalaxyS6, Nexus5
  • Play Store ID:
    AR Labs
  • Sistema operativo:
    Windows 10
Re:Problema con SlidingPaneLayout e 3 fragment nello stesso layout
« Risposta #2 il: 24 Febbraio 2014, 17:13:24 CET »
0
Quello dell'App di facebook mi pare un NavigationDrawer.

Se usi quello credo che ti troverai meglio.