Conheça os controles de seleção e de espera: CheckBox, ToggleButon e ProgressBar
Toda e qualquer aplicação necessita muitas vezes de controles de seleção como aplicações de e-commerce, neste artigo conheceremos alguns dos controles mais utilizados nesse tipo de situação.
CheckBox – android.widget.CheckBox
Esse controle é utilizado para selecionar uma ou mais opção, veja um exemplo abaixo
<CheckBox android:text="Borracha"
android:id="@+id/borracha"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
<CheckBox android:text="Caneta"
android:id="@+id/caneta"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
<TextView android:id="@+id/ver_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></TextView>
<Button android:text="Ver Seleção checkbox"
android:id="@+id/bt_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
public class AndroidConrole extends Activity {
/** Called when the activity is first created. */
private int statusProgress=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//CheckBox
final CheckBox ck_borracha =(CheckBox)findViewById(R.id.borracha);
final CheckBox ck_caneta =(CheckBox)findViewById(R.id.caneta);
final TextView ver_check = (TextView)findViewById(R.id.ver_checkbox);
Button bt_check = (Button)findViewById(R.id.bt_check);
bt_check.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
ver_check.setText("");
if(ck_borracha.isChecked())
ver_check.setText("borracha");
if(ck_caneta.isChecked())
ver_check.setText(ver_check.getText() +",caneta");
}
});
}
}
Nesse exemplo é somente para entendermos a utilização desse controle, pois se houvesse uma quantidade de ckeck muito grande, que é bem comum no dia a dia, poderíamos utilizar a combinação de GridView com checkBox.
ToggleButon – android.widget.ToggleButton
Muito semelhante ao checkbox, ele é usado para representar se o botão está selecionado ou não, mas com o layout diferente. Veja um exemplo.
<ToggleButton
android:id="@+id/ToggleButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Ligado"
android:textOff="Desligado"></ToggleButton>
A forma de como verificamos se o controle toggleButton esta selecionado ou não, é da mesma maneira do controle checkbox.
Observe as propriedades android:textOn e android:textOff que podemos configuramos as legendas de liga e desliga.
Controle utilizado para exibir uma barra de progresso por um tempo determinado.
<ProgressBar android:id="@+id/ProgressBar01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="100"
style="@android:style/Widget.ProgressBar.Horizontal">
</ProgressBar>
<Button android:text="Simulando processo"
android:id="@+id/bt_simulando_processo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"></Button>
public class AndroidConrole extends Activity {
/** Called when the activity is first created. */
private int statusProgress=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//ProgressBar
Button btBarraProgresso= (Button)findViewById(R.id.bt_simulando_processo);
final ProgressBar progressBar = (ProgressBar)findViewById(R.id.ProgressBar01);
final Handler _Handler = new Handler();
btBarraProgresso.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
while(statusProgress <100)
{
procedimento();
//atualiza a barra de progresso
_Handler.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
progressBar.setProgress(statusProgress);
}
});
}
}
}).start() ;
}
});
}
private void procedimento() {
// TODO Auto-generated method stub
statusProgress ++;
try {
Thread.sleep(300);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Observe a propriedade style do controle ProgressBar, por padrão o progressBar terá um indicador com um ícone rodando, altere esse propriedade para que tenha o efeito conforme abaixo.
Essa propriedade possui algumas opções como:
• Widget.ProgressBar.Horizontal
• Widget.ProgressBar.Small
• Widget.ProgressBar.Large
• Widget.ProgressBar.Inverse
• Widget.ProgressBar.Small.Inverse
• Widget.ProgressBar.Large.Inverse
Bom pessoal, espero que tenha gostado, e até a proxima.
http://www.nandosilva.com/
http://twitter.com/nandinhors
Artigos relacionados
-
Artigo
-
Artigo
-
Vídeo
-
Artigo
-
DevCast