2012-12-18 14 views
18

è possibile che il mio ImageView si adatti a tutte le dimensioni dello schermo senza l'aspetto dell'immagine allungato?ImageView fit senza allungare l'immagine

ho provato tutti i tipi di scala che cambiano a sfondo e src con fill_parent>wrap_content

ma ancora. se l'immagine non è più piccolo sembra proprio allungato ..

esempio:

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="centerInside" 
    android:adjustViewBounds="true" 
    android:background="@drawable/background" /> 

<ImageView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:scaleType="fitXY" 
    android:adjustViewBounds="true" 
    android:background="@drawable/background" /> 

questi 2 si adatta la larghezza, ma l'immagine è allungata .. ma quando lo cambio a src, l'immagine è solo centrata e piccolo.

+0

si sta chiedendo qualcosa che è più ovviamente impossibile. A meno che, naturalmente, l'immagine e lo schermo/vista che si vuole riempire non abbiano proporzioni identiche. – mathheadinclouds

risposta

31

Là nessun è incorporata nel tipo di scala che permette ImageView di lusso automaticamente l'immagine e mantenere le proporzioni intatta. L'unico tipo di scala che esegue l'upscaling è fitXY, che non rispetterà le proporzioni, come hai scoperto anche tu.

Detto questo, questo argomento è già stato visitato più di una volta. Dai uno sguardo ad alcuni dei suggerimenti proposti per domande simili:

Sono sure'll essere cumuli di più, quindi potrebbe vale la pena utilizzare il casella di ricerca in alto.

+0

upvoted grazie MH ... arghh. sembra impossibile. = _ = per risolvere in xml ~ la regolazione della larghezza per adattarsi allo schermo allunga davvero l'immagine – NoobMe

+0

ho accettato la tua risposta. ho scoperto in un altro argomento che non puoi farlo solo su xml .. devi aggiustarlo in java .. grazie ~ – NoobMe

1

Puoi farlo semplicemente aggiungendo solo si attribuisce al ImageView

android:adjustViewBounds="true"