Autore Topic: Sovrapposizione Layout e Overlay  (Letto 374 volte)

Offline alfy91

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • @piscitelli91
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Windows 8
Sovrapposizione Layout e Overlay
« il: 15 Ottobre 2014, 12:06:46 CEST »
0
Buongiorno a tutti,

praticamente il mio problema è questo: il mio layout contiene una barra in alto con l'immagine dell'utente che si è loggato all'applicazione. Adesso vorrei che al click sulla foto dell'utente comparissero i dettagli dall'alto. Al di là dell'animazione, volevo sapere come fare per far si che il fragment che viene aperto con i dettagli utente si sovrapponga al layout iniziale invece di far scendere tutto il layout in basso.

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   android:orientation="vertical"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:id="@+id/timesheet"
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:weightSum="7">
    <FrameLayout
       android:layout_width="300dp"
       android:layout_height="300dp"
       android:layout_gravity="center"
       android:id="@id+/dettagliUtente"
       >
        </FrameLayout>
    <RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:id="@+id/titoloTimesheetDAD"
       android:background="#00474f"
       android:layout_weight="1">
        <ImageView
           android:layout_width="50dp"
           android:layout_height="50dp"
           android:src="@drawable/icona_header_timesheet"
           android:id="@id/icona_header"
           android:layout_centerInParent="true"
           />
        <TextView
           android:layout_width="match_parent"
           android:layout_height="match_parent"
           android:textSize="35dp"
           android:textColor="@color/white"
           android:layout_gravity="center_horizontal"
           android:textAlignment="inherit"
           android:gravity="center_vertical|center_horizontal"
           android:id="@+id/titoloTimesheet"
           android:visibility="visible" />
        <LinearLayout
           android:layout_width="200dp"
           android:layout_height="match_parent"
           android:layout_marginRight="10dp"
           android:layout_alignParentRight="true"
           >
            <RelativeLayout
               android:layout_width="wrap_content"
               android:layout_height="match_parent"
               android:layout_marginRight="10dp"
               android:orientation="vertical"

               >
                <ImageView
                   android:layout_width="80dp"
                   android:layout_height="70dp"
                   android:layout_alignParentTop="true"
                   android:layout_centerHorizontal="true"
                   android:background="@drawable/a01_1"
                   />
                <ImageView
                   android:layout_width="100dp"
                   android:layout_marginTop="25dp"
                   android:id="@id/utente"
                   android:layout_alignParentTop="true"
                   android:layout_height="80dp"
                   />
            </RelativeLayout>
            <RelativeLayout
               android:layout_width="wrap_content"
               android:layout_height="match_parent"
               android:layout_marginRight="10dp"
               android:orientation="vertical"

               >
                <ImageView
                   android:layout_width="80dp"
                   android:layout_height="70dp"
                   android:layout_alignParentTop="true"
                   android:layout_centerHorizontal="true"
                   android:background="@drawable/a01_1"
                   />
                <ImageView
                   android:layout_width="100dp"
                   android:layout_marginTop="25dp"
                   android:id="@id/logoAzienda"
                   android:layout_alignParentTop="true"
                   android:layout_height="80dp"
                   />
            </RelativeLayout>
        </LinearLayout>
    </RelativeLayout>
    <LinearLayout
       android:orientation="horizontal"
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:weightSum="1"
       android:layout_weight="0.5">
        <ImageView
           android:layout_width="0dp"
           android:layout_height="match_parent"
           android:background="#00758c"
           android:textSize="35dp"
           android:textColor="@color/white"
           android:layout_gravity="center"
           android:padding="10dp"
           android:id="@+id/indietro"
           android:gravity="center_horizontal"
           android:src="@drawable/arrow_left"
           android:layout_weight="0.2" />
        <LinearLayout
           android:layout_width="0dp"
           android:layout_height="match_parent"
           android:orientation="vertical"
           android:weightSum="2"
           android:layout_weight="0.6"
           android:background="#00758c">
            <TextView
               android:layout_width="match_parent"
               android:layout_height="0dp"
               android:textSize="20dp"
               android:textColor="@color/white"
               android:layout_gravity="center"
               android:textAlignment="inherit"
               android:id="@+id/txtMeseAnno"
               android:gravity="center_vertical|center_horizontal"
               android:layout_weight="1.3" />
            <TextView
               android:layout_width="match_parent"
               android:layout_height="0dp"
               android:text="utente"
               android:textSize="15dp"
               android:textColor="@color/white"
               android:layout_gravity="center"
               android:textAlignment="inherit"
               android:id="@+id/labelUsername"
               android:gravity="center_horizontal"
               android:layout_weight="0.7" />
        </LinearLayout>

        <ImageView
           android:layout_width="0dp"
           android:layout_height="match_parent"
           android:background="#00758c"
           android:text=">"
            android:textSize="35dp"
            android:textColor="@color/white"
            android:layout_gravity="center_horizontal"
            android:padding="10dp"
            android:textAlignment="inherit"
            android:id="@+id/avanti"
            android:gravity="center_horizontal"
            android:src="@drawable/arrow_right"
            android:layout_weight="0.2" />
    </LinearLayout>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="match_parent"
       android:layout_height="0dp"
       android:baselineAligned="false"
       android:orientation="horizontal"
       android:showDividers="middle"
       android:weightSum="100"
       android:layout_weight="5.5">
        <FrameLayout
           android:id="@+id/calendario"
           android:layout_width="0dp"
           android:layout_weight="60"
           android:layout_height="match_parent"
           >
        </FrameLayout>
        <FrameLayout
           android:id="@+id/registrazioni"
           android:layout_width="0dp"
           android:layout_height="match_parent"
           android:background="#e0eff3"
           android:layout_weight="40" >
        </FrameLayout>
    </LinearLayout>
</LinearLayout>

Grazie mille.

iClaude

  • Visitatore
Re:Sovrapposizione Layout e Overlay
« Risposta #1 il: 16 Ottobre 2014, 10:38:00 CEST »
0
Devi usare un FrameLayout, che dispone i componenti uno sopra l'altro.

Offline alfy91

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • @piscitelli91
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Windows 8
Re:Sovrapposizione Layout e Overlay
« Risposta #2 il: 16 Ottobre 2014, 15:53:27 CEST »
0
Grazie mille, ho fatto così e funziona.
Ora ho un altro problema però, sovrapponendo il secondo layout e cliccandoci su vengono scatenati gli eventi del primo layout, quello sotto per intenderci. Come si fa per non far catturare gli eventi dal layout sottostante? Grazie.

iClaude

  • Visitatore
Re:Sovrapposizione Layout e Overlay
« Risposta #3 il: 16 Ottobre 2014, 16:00:38 CEST »
0
Grazie mille, ho fatto così e funziona.
Ora ho un altro problema però, sovrapponendo il secondo layout e cliccandoci su vengono scatenati gli eventi del primo layout, quello sotto per intenderci. Come si fa per non far catturare gli eventi dal layout sottostante? Grazie.

sembra strana come cosa. ..
Se il secondo layout sta sopra e tu ci clicchi sopra non dovrebbero essere chiamati eventi di quello sotto. ..
Non è che hai dato lo stesso id a diversi componenti?

Offline alfy91

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • @piscitelli91
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Windows 8
Re:Sovrapposizione Layout e Overlay
« Risposta #4 il: 16 Ottobre 2014, 16:03:22 CEST »
0
E' strano si... comunque no, non hanno lo stesso id.
E' come se gli eventi si propagassero verso il layout sottostante

iClaude

  • Visitatore
Re:Sovrapposizione Layout e Overlay
« Risposta #5 il: 16 Ottobre 2014, 16:14:44 CEST »
0
E' strano si... comunque no, non hanno lo stesso id.
E' come se gli eventi si propagassero verso il layout sottostante

Prova a mettere un OnClickListenet sul layout sopra e vedere se il problema si presenta ancora.

Offline alfy91

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +2
    • @piscitelli91
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Sistema operativo:
    Windows 8
Re:Sovrapposizione Layout e Overlay
« Risposta #6 il: 16 Ottobre 2014, 17:06:27 CEST »
0
Così va bene però ho problemi se devo assegnare uno swipe listener (un touch event). Quindi volevo non assegnare proprio l'evento click.