how can we reduce the size of checkbox please give me an idea

荒凉一梦 提交于 2019-12-01 12:21:25

You can define your owm state list drawable, to define different images for different states, as below:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!--When checkbox is checked-->
<item android:state_checked="true" android:drawable="@drawable/img_checkbox_on" />
<!--When checkbox is not checked-->
<item android:state_checked="false" android:drawable="@drawable/img_checkbox_off" />
</selector>

and apply this selector to check box in xml by:

<CheckBox android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:button="@drawable/my_custom_checkbox" />

UPDATE: this only works from API 17 onwards...


CheckBox derives its height from the TEXT as well as the image.

Set these properties in your XML:

android:text=""
android:textSize="0sp"

Of course this only works if you want no text (worked for me).

Without these changes, the CheckBox was giving me a big margin around my image, as mentioned by Joe Plante.

Use android:scaleX="0.5" android:scaleY="0.5"

1 is for 100% size 0.5 is for 50% 0.4 is for 40%...

Everything is standard, put in layout xml:

    <CheckBox android:id="@+id/myCheckBoxId"
              android:checked="false"
              android:text="Check It!" 
              android:textSize="12"/> <!--look here --/>
Parag Chauhan

You can reduce the size of the checkbox by changing its layout_width & layout_height.

Joe Plante

Maybe a different issue. I had a checkbox separate from the text

I did the drawable bit and it didn't work for me. For me, I had a drawable and the checkbox height was stubbornly at a set height, so no matter what, there was space around it. So, I, at first, used m layout_marginTop and layout_marginBottom to negative values, like -15 dip. I admit that it feels like a hack, but it almost worked. The other way was setting the layout_height="20dip" which worked better.

Edit: this requires a layout that has setable margins like Linear and Relative

You can just use scaleX and scaleY properies:

<CheckBox
 android:id="@+id/check_box"            
 android:scaleX="2.5"
 android:scaleY="2.5"/>
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!