Me gustaría hacer CheckBox un poco más pequeño / más grande, ¿cómo puedo hacer esto?
92
Solo necesita configurar los elementos de diseño relacionados y configurarlos en la casilla de verificación:
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="new checkbox"
android:background="@drawable/my_checkbox_background"
android:button="@drawable/my_checkbox" />
El truco está en cómo configurar los elementos de diseño. Aquí hay un buen tutorial sobre esto .
A partir del nivel de API 11, existe otro enfoque:
fuente
Aquí hay una mejor solución que no recorta y / o desenfoca el dibujo, pero solo funciona si la casilla de verificación no tiene texto en sí (pero aún puede tener texto, es más complicado, vea al final).
El resultado:
Cómo se veía la solución anterior
scaleX
yscaleY
:Puede tener una casilla de verificación de texto agregando un
TextView
al lado y agregando un oyente de clic en el diseño principal, luego activando la casilla de verificación mediante programación.fuente
Bueno, he encontrado muchas respuestas, pero funcionan bien sin texto cuando necesitamos texto también con casilla de verificación como en mi interfaz de usuario
Aquí, según mi requisito de interfaz de usuario, no puedo no aumentar TextSize, así que otra opción que probé es scaleX y scaleY (marque la casilla de verificación) y el selector xml personalizado con imágenes .png (también está creando un problema con diferentes tamaños de pantalla)
Hágalo en 3 pasos.
Paso 1: Copie estos tres Vector Drawable en su carpeta dibujable
comprobado.xml
un_checked.xml
( Tenga en cuenta que si está trabajando con Android Studio, también puede agregar estos Vector Drawable desde allí, haga clic con el botón derecho en su carpeta dibujable, luego New / Vector Asset, luego seleccione estos dibujables desde allí )
Paso 2: crea un selector XML para check_box
check_box_selector.xml
Paso 3: establece ese dibujable en la casilla de verificación
Ahora es como:
¡Espero que te ayude!
fuente
android:button="@null"
yandroid:background="@drawable/check_box_selector"
hacer que ajustara el tamaño de la casilla de verificación.yo suelo
android:scaleX="0.70" android:scaleY="0.70"
para ajustar el tamaño de la casilla de verificación
luego establezco márgenes como este
para ajustar esta ubicación de la casilla de verificación.
fuente
Esto fue lo que hice, primer set:
android:button="@null"
y también establecer
luego en su código Java:
¡Funciona para mí, y espero que funcione para usted!
fuente
ACTUALIZACIÓN : esto solo funciona desde API 17 en adelante ...
Para agregar a las otras respuestas brillantes ya dadas, solo puede hacer que la casilla de verificación sea tan pequeña como lo permita el tamaño del texto.
Según mi respuesta a esta pregunta: - ¿cómo podemos reducir el tamaño de la casilla de verificación? Por favor, dame una idea.
CheckBox
deriva su altura tanto del TEXTO como de la imagen.Establezca estas propiedades en su XML:
Por supuesto, esto solo funciona si no quieres texto (funcionó para mí).
Sin estos cambios,
CheckBox
me estaba dando un gran margen alrededor de mi imagen, como lo mencionó Joe.fuente
Puede probar la siguiente solución para cambiar el tamaño
custom checkbox
estableciendo las siguientes propiedades enCheckbox
en su archivo de diseño. Trabajó para miagregue las siguientes líneas al archivo dibujable
fuente
Encontré una manera de hacerlo sin crear tus propias imágenes. En otras palabras, la imagen del sistema se está escalando. No pretendo que la solución sea perfecta; Si alguien sabe cómo acortar algunos de los pasos, me complacerá saber cómo.
Primero, coloco lo siguiente en la clase de actividad principal del proyecto (WonActivity). Esto fue tomado directamente de Stack Overflow, ¡ gracias chicos !
En segundo lugar, creé una clase para "escalar un dibujo". Tenga en cuenta que es completamente diferente del ScaleDrawable estándar.
Finalmente, definí una clase de casilla de verificación.
Eso es. Si coloca un WonCheckBox en su vista y aplica setHeight (), la imagen de la casilla de verificación tendrá el tamaño correcto.
fuente
usa este código.
en diseño:
agregar un nuevo elemento de dibujo: my_checkbox.xml
y terminar crea 2 dibujables:
checkbox_off_background.xml
y también checkbox_on_background.xml
fuente
Suponga que su xml original es:
luego simplemente elimine
android:button="@drawable/xml_above"
en su casilla de verificación xml, y haga un escalado dibujable programáticamente en java (disminuya el150
tamaño grande a su dp deseado):el
convertDpToPixel
método:fuente
No pude encontrar la respuesta relevante para mi requisito, que lo descubrí. Por lo tanto, esta respuesta es para la casilla de verificación con texto como a continuación, donde desea cambiar el tamaño de la casilla de verificación dibujable y el texto por separado.
Necesita dos PNG cb_checked.png y cb_unchechecked.png para agregarlos a la carpeta dibujable
Ahora cree cb_bg_checked.xml
Y cb_bg_unchecked.xml
Luego crea un selector XML checkbox.xml
Ahora defínalo como su layout.xml
fuente
Si desea agregar una imagen personalizada a la casilla de verificación, establezca el botón en nulo y simplemente agregue el fondo a la casilla de verificación que se resuelve
fuente