Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

problema layout con immagine e testo

Discussione in 'Development' iniziata da Bazz, 18 Ott 2012.

  1. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    ciao
    non sò più cosa provare per ottenere un layout con questo comportamento :

    a metà del layout che sto preparando , devo inserire una viewgroup (linearlayout orizzontale) contenente un'immagine di dimensioni consistenti con accanto del testo ; ho diviso lo spazio in due parti , a sx l'immagine e a dx il testo ; vorrei gestire anche i diversi tipi di dispositivi (tablet, ecc.) ,
    però non riesco a settare l'immagine in maniera soddisfacente , in pratica mi occupa tutta la larghezza , a meno che non imponga
    android:layout_width e android:layout_height fissi (es. 90dp) , però così non va bene per i tablet ad esempio ;
    ho pensato di rendere android:layout_width e android:layout_height parametrizzati , ricavare la dimensione del dispositivo dal context ed impostare tali grandezze dall'activity , non so come fare perchè conosco poco android ;
    per favore avreste qualche suggerimento ?

    ecco l'XML :

    Codice:
    . . . . . . .             
        <LinearLayout
            android:id="@+id/layoutEsercente"
            android:layout_below="@+id/layoutButtons"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/layoutButtons"
            android:layout_alignRight="@+id/layoutButtons"
            android:orientation="horizontal"
            android:baselineAligned="false"
            android:layout_marginTop="0dp" >
        
            <RelativeLayout 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1">
           
                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"  
                    android:adjustViewBounds="false"    
                    android:layout_centerInParent="true"
                    android:layout_gravity="center"
                    android:contentDescription="@string/titleApp" />
                            
            </RelativeLayout>
           
            <RelativeLayout 
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="2">
                
                <TextView
                    android:id="@+id/txtAttivita"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"       
                    android:layout_marginLeft="1dp"
                    android:layout_marginTop="2dp"
                    android:text=""
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#666666"
                    android:textStyle="bold" />    
    
               <TextView
                    android:id="@+id/txtIndirizzo"
                    android:layout_below="@+id/txtAttivita"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="1dp"
                    android:layout_marginTop="2dp"
                    android:text=""
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="#9f9f9f" />
    
              <TextView
                    android:id="@+id/txtCitta"
                    android:layout_below="@+id/txtIndirizzo"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginLeft="1dp"
                    android:layout_marginTop="2dp"
                    android:text=""
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:textColor="#9f9f9f" />
                    
            </RelativeLayout>
                
        </LinearLayout>
    . . . . . . . . .
    
    grazie
    ciao
     
  2. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    ai due </RelativeLayout> io imposterei :

    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"

    Cosi sei sicuro che occupano lo stesso spazio in ogni dispositivo su cui gira l'applicazione.

    Non devi assolutamente impostare dimensioni fisse.
     
  3. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    grazie
    ho modificato il layout usando un TableLayout invece del LinearLayout , ho quindi diviso la TableRow in 2 parti ,
    ciascuna con : layout_weight="1" , android:layout_width="fill_parent" , android:layout_height="fill_parent" ;
    però il testo deve stare su più righe , mentre così viene tutto sulla stessa riga , c'è una view che posso preparare con più righe ?
    grazie , ciao
    ecco il codice XML modificato :

    Codice:
                
        <TableLayout
            android:id="@+id/layoutEsercente"
            android:layout_below="@+id/layoutButtons"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/layoutButtons"
            android:layout_alignRight="@+id/layoutButtons"
            android:layout_marginTop="0dp" >
    
            <TableRow 
                    android:id="@+id/TableRow1" 
                    android:layout_width="fill_parent" 
                    android:layout_height="wrap_content"
                    android:layout_marginTop="1dp"
                    android:layout_marginBottom="1dp">
                   
                <ImageView
                    android:id="@+id/imageView1"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"  
                    android:layout_weight="1"
                    android:layout_gravity="center"
                    android:contentDescription="@string/titleApp" />
           
                
                <TextView
                    android:id="@+id/txtAttivita"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"       
                    android:layout_weight="1"
                    android:layout_marginLeft="1dp"
                    android:layout_marginTop="2dp"
                    android:text=""
                    android:textAppearance="?android:attr/textAppearanceMedium"
                    android:textColor="#666666"
                    android:textStyle="bold" />    
                
                    . . . .  sotto vorrei incolonnare altro testo
            </TableRow>
                
        </TableLayout>
    
     
  4. acer1629

    acer1629 Worker Droid

    Iscritto:
    22 Ago 2012
    Messaggi:
    113
    "Mi Piace":
    22
    Prova a cercare info in merito alla proprietà Multiline della TextView ... se non erro se è a True ti permette di avere più righe, ma non ne sono sicurissimo.
     
    A Bazz piace questo elemento.
  5. Bazz

    Bazz Worker Droid

    Iscritto:
    9 Ago 2012
    Messaggi:
    61
    "Mi Piace":
    1
    grazie mille
    ciao