Autore Topic: Allineamento orizzontale ImageView  (Letto 285 volte)

Offline gius83

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
Allineamento orizzontale ImageView
« il: 25 Maggio 2015, 15:05:08 CEST »
0
Salve a tutti,
non riesco a capire bene come funziona l'allineamento orizzontale delle immagini su tablelayout.
Mentre l'allineamento verticale sembra funzionare bene, quello orizzontale non ne vuol sapere. Magari è una stupidaggine ma non ho trovato granchè su internet che spieghi in maniera chiare come si deve procedere per l'allineamento orizzontale delle immagini.
Vi posto un esempio:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@color/bg_device_list"
   android:orientation="vertical" >

    <TableRow
       android:id="@+id/tableRow1"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       style="@style/row_device_list_int" >

        <TextView
           android:id="@+id/title_device_list"
           style="@style/title_device_list"
           android:text="@string/title_device_list" />

        <ProgressBar
           android:id="@+id/progressBar2"
           style="?android:attr/progressBarStyleSmall"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_gravity="left|center_vertical"
           />

        <ImageView            
           android:id="@+id/imageView1"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:src="@drawable/logo_50x50"
           android:layout_gravity="right|center_vertical"    
           />
    </TableRow>

</TableLayout>
Ecco il foglio di stile
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
    <style name="title_device_list">
        <item name="android:textSize">18dp</item>
        <item name="android:textColor">#000000</item>
        <item name="android:padding">2dp</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">left|center_vertical</item>
    </style>
        <style name="title_device_entity">
        <item name="android:textSize">18dp</item>
        <item name="android:textColor">#000000</item>
        <item name="android:padding">2dp</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">left|center_vertical</item>
        <item name="android:layout_weight">0</item>
    </style>
    <style name="row_device_list">
        <item name="android:layout_marginBottom">2dp</item>
        <item name="android:layout_marginLeft">6dp</item>
        <item name="android:layout_marginRight">6dp</item>
        <item name="android:background">#FFFFFF</item>
        <item name="android:padding">2dp</item>
    </style>
    <style name="row_device_list_int">
        <item name="android:background">#FFFFFF</item>
        <item name="android:padding">2dp</item>
        <item name="android:stretchColumns">2</item>
        <item name="android:layout_marginTop">6dp</item>
        <item name="android:layout_marginRight">6dp</item>
        <item name="android:layout_marginLeft">6dp</item>
        <item name="android:layout_marginBottom">24dp</item>
        <item name="android:minHeight">52dp</item>
    </style>    
</resources>
Nell'esempio sopra sono presenti nell'ordine: textview, progress circle, immagine.
Si vuole che tutto sia allineato a sinistra tranne che l'immagine allineata a destra. Tutto deve essere centrato veriticalmente.
L'allineamento verticale come detto funziona, quello orizzontale no tutti gli elementi vengono allineati a sinistra.