Ho creato un'attività con un'immagine di intestazione. Questa immagine di intestazione è stata originariamente creata nel layout xml di Activity utilizzando un ImageView in cui scaleType è impostato su centerCrop. Questo fa ciò che voglio, centra l'immagine, la ritaglia a destra e a sinistra in modalità verticale, mostrando tutto in modalità orizzontale.Equivalente di scala ImageViewType 'centerCrop' per gravità selezionabile bitmap
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="30dp"
android:paddingBottom="6dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:background="#919EAC"
android:orientation="vertical" >
<ImageView
android:id="@+id/header_image"
android:layout_width="match_parent"
android:layout_height="120dp"
android:contentDescription="@string/header_description"
android:scaleType="centerCrop"
android:src="@drawable/header" />
.... <other views> ...
mi piacerebbe sostituire questo con un background disegnabile in modo che possa utilizzare lo spazio immagine di intestazione per visualizzare i dati, e consente di risparmiare me ripetere lo stesso layout in diverse attività.
Per questo motivo ho creato un drawable che posso fare riferimento nella android: attributo background:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#919EAC" />
</shape>
</item>
<item>
<bitmap
android:antialias="true"
android:gravity="top|center_horizontal"
android:src="@drawable/header" />
</item>
</layer-list>
Questa drawable definisce lo sfondo colorato che altrimenti il layout definirebbe e definisce un'immagine di testa che altrimenti sarebbe incluso nel layout come ImageView.
Tuttavia ora la mia immagine viene ridimensionata, mentre mi piacerebbe che fosse ritagliata.
Controllo della documentazione Android ho provato altri modi gravitazionali come
android:gravity="top|clip_horizontal"
ma sembra ancora visualizzare/scala diverso rispetto alla visualizzazione dell'immagine.
Quale sarebbe la definizione corretta dello sfondo disegnabile?
Sei riuscito a trovare una soluzione al tuo problema? Sto lottando con la stessa cosa. – Marty
correlati http://stackoverflow.com/questions/5119366/set-size-of-layered-drawable – mathheadinclouds
Che ne dici di "fill_vertical | clip_horizontal" –