Home » nerdlines » Customizando um CheckBox no Android.
formats

Customizando um CheckBox no Android.

Galera, precisei customizar um checkbox usando 2 imagens especificas, drugs online without prescription a solução é simples, vou compartilhar com vocês caso alguém precise disto.
Primeiro Passo
Adicionei ao main.xml um novo Checkbox e setei a propriedade Button referenciando um checkbox_lampada que é o xml que customiza na verdade vejam abaixo.

<.CheckBox android:id="@+id/chkLuzOnOff" android:layout_width="fill_parent" android:text="" android:layout_gravity="center_vertical" android:button="@layout/checkbox_lampada" android:layout_height="wrap_content">
<./CheckBox>

Segundo Passo
Criei um NOVO arquivo no mesmo diretório Layout checkbox_lampada.xml com as caracteristicas do meu checkbox basicamente faz referencias a 2 arquivos PNG um quando checado outro quando unchecado.

<.?xml version="1.0" encoding="utf-8"?>
<.!-- /* @author Rafael Gimenes Leite - falecom@rafaelgimenes.net * Customização CheckBox Lampada */ -->

<.selector xmlns:android="http://schemas.android.com/apk/res/android">
<.item android:state_checked="false" android:drawable="@drawable/checkbox_off_lampada" />
<.item android:state_checked="true" android:drawable="@drawable/checkbox_on_lampada" />
<./selector>

Terceiro Passo
Como podem ver no xml customizado fiz referência a arquivos de imagem do diretório resources @drawable.
Os 2 arquivos de imagem tem que ter o mesmo Tamanho, porem algo diferente cor.
Os mesmos devem ser copiado para o diretório [b]res/drawable-ldpi[/b], no meu caso copiei para os 3 diretórios drawable possíveis assim não tera problema com tamanho de telas lembrando os arquivos podem ter tamanho diferentes para cada resource.
No caso os arquivos são “checkbox_off_lampada.png” e “checkbox_on_lampada.png” um quando o [b]state_checked=false[/b] e outro igual a [b]state_checked=true[/b] respectivamente.
Eu segui a estrutura do android nada impede de você montar a sua :)


Quarto Passo
Instanciando isso no java.

//instancia o ChkLuz buscando informações de propriedade no arquivo main.xml;
ChkLuz = (CheckBox) findViewById(R.id.chkLuzOnOff);

Resultado Final


Abraço

 

2 Responses

  1. Edilson

    Boa 06 ! Ficou massa!

  2. O SDK do Android é voltado apenas para Java?

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>