2014-05-19 11 views
7

Ho la seguente risorsa drawable:come impostare la dimensione della bitmap nella risorsa estraibile?

<layer-list> 
    <item><shape> 
      <gradient android:angle="225" android:endColor="#080517" android:startColor="#241c4d" /> 

      <stroke android:width="2.5dp" android:color="#FFFFFF" /> 

      <corners android:radius="5dp" /> 
     </shape></item> 
     <item> 
      <bitmap android:gravity="right|center_vertical" android:src="@drawable/tri_arrow_down_blue64" /> 
     </item> 
</layer-list> 

il problema è: non posso specificare la dimensione esatta del bitmap (in dp). di conseguenza, la bitmap influisce sull'altezza di un controllo con lo sfondo impostato su tale disegno.

Posso aggirare il problema inserendo il controllo all'interno di FrameLayout, estraendo la parte bitmap del drawable in un ImageView inserito nello stesso FrameLayout. Questo risolve il problema perché ImageView può definire l'esatta larghezza e altezza della bitmap (attraverso layout_width e layout_height). Ma drawable non ha attributi (o simili). Mi chiedo perché sia ​​così? e c'è un modo più elegante di specificare la dimensione di un bitmap disegnabile proprio all'interno dell'XML drawable invece di implementare quella brutta soluzione con FrameLayout?

grazie

+1

Avendo problemi simili, trovi qualcosa? –

+0

Sembra non esserci soluzione – Greg

+1

http://stackoverflow.com/questions/23079355/android-bitmap-image-size-in-xml –

risposta

1

ho avuto un problema simile, e dalla mia ricerca, non c'è un modo per impostare in realtà la dimensione della voce o bitmap in un elenco strato (che sembra ridicolo).

Ho risolto il problema semplicemente riducendo la dimensione dell'immagine png che stavo utilizzando per il mio bitmap disegnabile.