Monteiro João Bosco - Google Android: crie aplicações para celulares e tablets стр 14.

Шрифт
Фон

(linha 4), que indica a sua altura. Há dois valores importantes para estes atributos que são o match_parent e o wrap_content. O primeiro valor indica que o

tamanho deve ser o mesmo que o do elemento-pai enquanto o segundo indica que

o tamanho deve ser grande o suficiente para abrigar o conteúdo a ser exibido.

Note

que

na

linha

5

utilizamos

um

outro

atributo,

que

é

o

android:gravity="center_vertical".

Ele indica que o layout deve fi-

car centralizado verticalmente na tela. A orientação que desejamos é informada no atributo android:orientation.

O próximo passo é exibir a logo da aplicação.

Para isso, podemos in-

cluir um

ImageView, que deve ficar ao centro e mostrar a imagem de

android:src="@drawable/logo". Com isso, basta ter uma imagem em um arquivo logo.png e colocá-la nos diretórios drawable do projeto.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout ...>

<ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:layout_marginBottom="50dp"

android:src="@drawable/logo" />

</LinearLayout>

Agora, podemos incluir os campos para que o usuário forneça seu login e senha para entrar na aplicação. Precisaremos de componentes TextView para mostrar a descrição dos campos, como se fossem labels, e também do EditText para o campo onde o usuário digitará seu login:

58

Casa do Código

Capítulo 3. Domine os principais elementos de Interface Gráfica

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout ...>

<!-- Logo -->

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/usuario" />

<EditText

android:id="@+id/usuario"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:inputType="text" >

<requestFocus />

</EditText>

</LinearLayout>

Repare no EditText: definimos um atributo android:inputType, para in-

dicar que esse campo é uma simples entrada de texto, ou seja, caracteres alfanumé-

ricos. Também utilizamos o <requestFocus> para que este campo receba o foco quando a tela for exibida.

Com isso, para fazermos o campo de senha, basta criarmos um novo EditText

cujo android:inputType seja do tipo textPassword:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout ...>

<!-- Logo -->

<!-- Campo de login do usuário -->

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/senha" />

<EditText

android:id="@+id/senha"

android:layout_width="match_parent"

59

3.1. LinearLayout

Casa do Código

android:layout_height="wrap_content"

android:inputType="textPassword" />

</LinearLayout>

Como adicionar rolagem vertical

Os layouts do Android não suportam por padrão a rolagem ver-

tical da tela. Para ter essa funcionalidade, é necessário utilizar uma

ScrollView e colocar o layout que precisa da rolagem como seu

elemento-filho.

Além dos tipos text e textPassword, também existem diversos outros, tais

como o number, que indica números e faz com que o teclado exibido para digitação seja apenas o teclado numérico; phone, para números de telefone; date e time, para informações de data e hora. Para ver todas as opções disponíveis consulte a documentação em http://developer.android.com/reference.

Agora basta fazermos o botão entrar, usando a Tag Button:

<Button

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="bottom"

android:onClick="entrarOnClick"

android:text="@string/entrar" />

Nesse botão, vinculamos a ação entrarOnClick que fará a autenticação do

usuário e, caso seja bem-sucedida, iniciará a activity da dashboard. Vamos implementar este método na BoaViagemActivity que utilizará o layout da tela de

login que acabamos de definir.

public class BoaViagemActivity extends Activity {

public void entrarOnClick(View v) { }

}

Note que fizemos o método entrarOnClick recebendo como parâmetro um

objeto do tipo View. Vamos implementar a lógica do login dentro desse método

60

Casa do Código

Capítulo 3. Domine os principais elementos de Interface Gráfica

em instantes. Mas primeiro, faremos com que, quando a BoaViagemActivity

seja criada, ela fique associada ao layout do login. Para isso, vamos reescrever o mé-

todo onCreate e invocar o método setContentView, passando uma referência

ao layout de login.

public class BoaViagemActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.login);

}

public void entrarOnClick(View v) { }

}

A classe R

A classe R é gerada automaticamente pelo ADT, utilizando as ferra-

mentas do SDK, e serve para mapear os recursos existentes no aplicativo

na forma de constantes. Dessa forma, podemos referenciar facilmente

arquivos de layout, widgets e outros tipos de recursos como strings::

e arrays.

Nesse começo, faremos uma autenticação simples, na qual o usuário informado

deve ser leitor e a senha deve ser 123. Mas para isso temos que recuperar uma referência para os campos de usuário e senha que estão na tela, para termos acesso aos textos presentes nos campos. No próprio método onCreate, vamos recuperar

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке