Il existe un moyen simple de le faire à partir du dessinable :
votre_drawable.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@color/bg_color"/>
<item>
<bitmap
android:gravity="center|bottom|clip_vertical"
android:src="@drawable/your_image" />
</item>
</layer-list>
Le seul inconvénient est que s'il n'y a pas assez d'espace, votre image ne sera pas entièrement affichée, mais elle sera coupée, je n'ai pas trouvé de moyen de faire cela directement à partir d'un drawable. Je n'ai pas trouvé de moyen de le faire directement à partir d'un drawable. Mais d'après les tests que j'ai effectués, cela fonctionne plutôt bien, et cela n'écrête pas trop l'image. Vous pouvez jouer davantage avec les options de gravité.
Une autre façon de procéder consiste à créer une mise en page, dans laquelle vous utiliserez une balise ImageView
et définir les scaleType
a fitCenter
.