I would like to use custom drawables set as my checkbox drawable I have it defined as follows:
heart_button.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://ift.tt/nIICcg">
<item android:state_checked="false" android:drawable="@drawable/heart_outline" />
<item android:state_checked="true" android:drawable="@drawable/heart_full" />
<item android:drawable="@drawable/heart_outline" /> <!-- default state -->
</selector>
drawables here are just .png files. In layout however I have a following entry:
<CheckBox
android:id="@+id/heartItemCheckBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="4dp"
android:layout_marginRight="4dp"
android:button="@drawable/favourite_heart_button"
android:contentDescription="@string/heartCheckBoxDesc"
android:focusable="false"/>
What I want to achieve is to set width and height of that CheckBox
and has its button drawable scalled to fill it. Now it get cropped (when I use too big .png file) or stays small (when I use lower-resoultion .png). I believe dp
units were introduced to prevent various items size depending on phone density. This is way I don't want to just use image with another resolution.
I have tried several ways to achieve what I want - without success. I've tried setting android:scaleType="fitCenter"
, android:gravity="center"
, I tried to change items
in selector
to introduce bitmaps
there with android:scaleType="fitCenter"
attribute. What seemed to work was setting that drawable to android:background
attribute instead of to android:button
. But I don't think this a right way (It can make some probles with shadows, elevation, etc. I think).
How do you recommend to achieve what I want?
Aucun commentaire:
Enregistrer un commentaire