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

Шрифт
Фон

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:inputType="textPersonName" >

<requestFocus />

</EditText>

Além disso, também teremos que incluir um botão, através do widget Button:

<Button

android:id="@+id/saudacaoButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

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

Neste momento, para facilitar a criação do layout com estes novos elementos, iremos substituir o RelativeLayout por um LinearLayout que permite colocar

um widget por linha. Com estes novos elementos podemos montar a tela completa do novo Hello World que ficará como o código a seguir:

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

26

Casa do Código

Capítulo 1. Construa sua primeira aplicação

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<TextView

android:layout_width="match_parent"

android:layout_height="wrap_content"

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

<EditText

android:id="@+id/nomeEditText"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:inputType="textPersonName" >

<requestFocus />

</EditText>

<Button

android:id="@+id/saudacaoButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

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

<TextView

android:id="@+id/saudacaoTextView"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

</LinearLayout>

Nos itens recém adicionados, repare que colocamos um atributo android:id

que é importante, pois posteriormente precisaremos referenciar e manipular esses componentes visuais. Também é necessário criar as strings que serão uti-

lizadas como o título, o rótulo do botão e também uma saudação. Nosso arquivo strings.xml deverá ficar assim:

<resources>

<string name="app_name">HelloAndroid</string>

<string name="hello_world">Hello Android!</string>

27

1.5. Hello World 2.0

Casa do Código

<string name="menu_settings">Settings</string>

<string name="title_activity_main">MainActivity</string>

<string name="titulo">Informe seu nome</string>

<string name="surpreenda_me">Surpreenda-me</string>

<string name="saudacao">Olá</string>

</resources>

Ao executarmos a aplicação novamente já perceberemos as mudanças realizadas

e o resultado será igual à imagem 1.22. Como ainda não programamos nenhuma

ação para o botão disponível na tela, ao pressioná-lo, nada de diferente acontece.

Para

obter

o

resultado

esperado,

criaremos

um

método

na

nossa

MainActivity que responderá a esta ação apresentando ao usuário uma

saudação personalizada. Então vamos configurar nosso

botão para que quando ele seja pressionado um método seja invocado. Para isso, utilizaremos o onClick:

<Button

android:id="@+id/saudacaoButton"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="@string/surpreenda_me"

android:onClick="surpreenderUsuario"/>

Informamos que o método a ser acionado após o clique do botão é o

surpreenderUsuario, através da propriedade onClick. Este método deve necessariamente ser público e receber como parâmetro um objeto do tipo View que é uma referência do botão que foi pressionado:

public void surpreenderUsuario(View v){

}

Nesse

método,

precisamos

modificar

o

conteúdo

do

widget

saudacaoTextView para que ele mostre o conteúdo informado no EditText.

Para isso, vamos precisar que a classe MainActivity possua referência para esses elementos. Vamos começar declarando atributos para o EditText e o TextView:

public class HelloAndroidActivity extends Activity {

private EditText nomeEditText;

private TextView saudacaoTextView;

28

Casa do Código

Capítulo 1. Construa sua primeira aplicação

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

public void surpreenderUsuario(View v) { }

//demais códigos existentes

}

No método onCreate, temos que conseguir as referências para os componen-

tes. Podemos fazer isso através do método findViewById:

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

this.nomeEditText = (EditText) findViewById(R.id.nomeEditText);

this.saudacaoTextView = (TextView)

findViewById(R.id.saudacaoTextView);

}

Agora que já temos as referências para os objetos, podemos obter o valor di-

gitado pelo usuário, que está armazenado no EditText e atribuí-lo como con-

teúdo do TextView. Para realizar esta operação, basta implementar o método

surpreenderUsuario dessa forma:

public void surpreenderUsuario(View v) {

Editable texto = this.nomeEditText.getText();

this.saudacaoTextView.setText(texto);

}

Por fim, vamos adicionar a string saudacao, que está definida no arquivo

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

0
Шрифт
Фон

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