Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Dispositivos Móveis / Aula
O Button é o componente que representa um botão textual no Android. Diversos atributos podem ser configurados em um botão, mas aqui comentaremos apenas os principais, que tornam possível a criação de um botão simples e funcional. Vejamos a Listagem 6, demonstrado a declaração dos dois botões utilizados na nossa tela de login.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RelativeLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#007">
<TextView
android:id="@+id/welcome_msg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dip"
android:gravity="center"
android:text="Olá! Por favor, insira seu login e senha"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="#FFF" />
<EditText
android:id="@+id/login_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/welcome_msg"
android:layout_marginTop="50dp"
android:hint="Login"
android:maxLines="1" >
</EditText>
<EditText
android:id="@+id/pass_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/login_text"
android:layout_marginTop="30dp"
android:hint="Senha"
android:inputType="textPassword"
android:maxLines="1"
android:longClickable="false" />
<Button
android:id="@+id/confirmar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/pass_text"
android:text="Confirmar" />
<Button
android:id="@+id/limpar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/pass_text"
android:text="Limpar" />
</RelativeLayout>
Apenas com os atributos que já estudamos anteriormente, é possível criar os botões que precisamos para tornar a nossa tela de login funcional. O principal ponto em relação aos botões não é a declaração deles no XML, mas sim a programação e tratamento dos cliques na Activity, afinal, é isso que os torna funcionais. Vejamos, então, na Listagem 7, a implementação do comportamento dos botões em nossa Activity. O botão Confirmar irá indicar sucesso apenas se o usuário e a senha digitados forem iguais a “aluno”. Já o botão limpar vai, simplesmente, limpar o valor dos campos.
package br.ufrn.imd.aula05f;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class Aula05Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button confirmar = (Button) findViewById (R.id.confirmar);
Button limpar = (Button) findViewById (R.id.limpar);
final EditText login = (EditText) findViewById(R.id.login_text);
final EditText senha = (EditText) findViewById(R.id.pass_text);
confirmar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String loginStr = login.getText().toString();
String senhaStr = senha.getText().toString();
if (loginStr != null && loginStr.equals("aluno")) {
if (senhaStr != null && senhaStr.equals("aluno")) {
//Sucesso
} else {
//Falha senha
}
} else {
//Falha login
}
}
});
limpar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
login.setText("");
senha.setText("");
}
});
}
}
Como se pode ver na Listagem 7, para implementar o comportamento dos botões após um clique, é necessário, primeiramente, referenciar os componentes Button no código Java por meio do método findViewById, utilizando o ID configurado no XML de layout. Uma vez que tenhamos a referência desses botões, é possível configurar o onClickListener deles para executar alguma ação que queiramos. Como precisaríamos dos valores dos EditTexts para tomarmos as decisões após o clique no botão de confirmar, utilizamos novamente o método findViewById para encontrar e referenciar os componentes e, então, utilizando o método getText(), podemos pegar o valor contido no campo do EditText e, após convertê-lo para string utilizando o toString(), verificá-lo.
Agora que já temos uma tela capaz de simular um login, vamos adicionar uma imagem que possa representar o sucesso ou não do login para que o usuário tenha uma resposta após clicar no botão Confirmar. Em outras aulas, estudaremos a comunicação entre Activities e poderemos, então, passar para outra Activity, caso o login esteja correto.
Versão 5.3 - Todos os Direitos reservados