Layout Relativo - Desenvolvimento de aplicativos nativos para Android com Netbeans

UMA esquema relativo é uma visão de grupo que mostra os componentes em posições relativas a outro componente. A posição de cada componente pode ser especificada em relação a outros elementos, como à esquerda de um botão ou abaixo de uma determinada caixa de texto ou alinhada ao fundo, à esquerda ou ao centro.
Começamos no tutorial Desenvolvendo aplicativos nativos para Android com Netbeans explicando como usar o Layout LinearNeste tutorial veremos que o container para criar interfaces no Android é o Layout Relativo.
A principal característica deste layout é que os componentes que estão dentro deste container irão localizar sua posição em relação aos demais elementos. Desta forma, podemos definir que o O componente de botão está localizado abaixo do componente de caixa de texto e este, por sua vez, está alinhado horizontalmente em relação ao componente de rótulo.
Entre as propriedades que nos ajudam a posicionar os elementos em relação aos outros estão:
android: layout_above: significa que o componente que possui esta propriedade estará localizado acima do componente que indicamos.
Exemplo:
 
O botão será posicionado acima do elemento do rótulo conforme indicado android: layout_above = "@ id / title"
android: layout_alignLeft: Isso significa que o componente que possui esta propriedade deve coincidir com a borda esquerda do componente que indicamos. Se quisermos que coincida com a borda direita, usaremos android: layout_alignRight.
android: layout_toLeftOf: Isso significa que o componente que possui esta propriedade estará localizado à esquerda do componente que indicamos.
android: layout_toRightOf: Isso significa que o componente que possui esta propriedade será posicionado à direita do componente que indicamos.
android: layout_bottom: Significa que o componente que possui esta propriedade ficará posicionado abaixo do componente que indicamos.
Vamos programar um exemplo simples de calculadora no Android, neste tutorial usaremos o Netbeans e o SDK do Android como fizemos no tutorial Desenvolvendo aplicativos nativos para Android com o Netbeans.

Vamos criar o projeto LayoutRelativo


Assim que o projeto for criado, começaremos com o design na pasta de layout, abriremos o arquivo main.xml e copiaremos o seguinte código:
 
A seguir vamos escrever a funcionalidade em Java no arquivo MainActivity.java
 package com.Relative; import android.app.Activity; import android.os.Bundle; import android.widget. *; import android.view. *; public class MainActivity extends Activity {// Instanciamos variáveis ​​e componentes que usaremos // para cálculos private double number, numberrob; valor EditText privado, valoreb; resultado TextView privado; public void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); // Iniciamos o aplicativo com o layout principal setContentView (R.layout.main); // Atribuímos cada componente a uma variável this.valora = (EditText) findViewById (R.id.numeroa); this.valorb = (EditText) findViewById (R.id.numerob); this.result = (TextView) findViewById (R.id.result); } public void btSumar (View view) {// Adicionar função // Se ambos os valores forem maiores que zero, ele é convertido em um número decimal e adicionado if (this.value.getText (). toString (). length ( )> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); this.result.setText (Double.toString ((this.numeroa + this.numerob))); }} public void btRestar (Visualizar visualização) {// Subtrair função // Se ambos os valores forem maiores que zero, ela é convertida em um número decimal e subtraída se (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); this.result.setText (Double.toString ((this.numeroa - this.numerob))); }} public void btMultiplicar (View view) {// Multiplicar função // Se ambos os valores forem maiores que zero, ela é convertida em um número decimal e multiplicada se (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); this.result.setText (Double.toString ((this.numeroa * this.numerob))); }} public void btDivide (View view) {// Divide function // Se ambos os valores forem maiores que zero, ele é convertido em um número decimal e dividido se (this.value.getText (). toString (). length ()> 0 && this.valorb.getText (). ToString (). Length ()> 0) {this.numeroa = Double.parseDouble (this.valora.getText (). ToString ()); this.numerob = Double.parseDouble (this.valorb.getText (). toString ()); if (this.numerob! = 0) {this.result.setText (Double.toString ((this.numeroa / this.numerob))); }}} public boolean onCreateOptionsMenu (Menu menu) {// Criar menu a partir do modelo ou layout getMenuInflater (). inflate (R.menu.main, menu); return true; }
Rodamos a aplicação e quando o emulador é ativado veremos a seguinte tela.

A primeira caixa de texto aceita apenas números que contenham 1 ou 5 como indicamos, que podem ser combinações dos dígitos nas especificações do projeto com a propriedade android: digits = "12345"
Também adicionaremos um menu e submenu, na pasta Recursos Vamos criar uma pasta chamada menu e dentro de um arquivo xml chamado main.xm que terá a configuração do menu.
 
Dentro da pasta de valores devemos declarar o nome do menu no arquivo strings.xml
 Calculadora - Configuração de Layout Relativo 
Executamos o aplicativo novamente e, em seguida, pressionamos o botão de menu e clicamos em Configuração.

Conseguimos um aplicativo totalmente funcional, para testar como funciona se ligarmos o celular e a tela deve ser acomodada pressionamos:

Ctrl + F12

Isso simulará o giro do celular.

Os botões são posicionados pelas propriedades, por exemplo para o botão Subtrair posicionamos à direita de adicionar e alinhado com a borda superior do botão adicionar.
 android: layout_toRightOf = "@ id / add" android: layout_alignTop = "@ id / add"
No caso do botão útil, nós o alinhamos em relação ao primeiro botão a adicionar e ao último botão a multiplicar.
 android: layout_toRightOf = "@ id / multiply" android: layout_alignTop = "@ id / add"
A seguir adicionaremos um botão com um ícone, para isso baixamos qualquer ícone da web www.Icofinder.com. Vamos copiar o ícone na pasta Recursos / drawable-mdpi.

Adicionamos o código de design abaixo, vamos para a pasta de layout, abrimos o arquivo main.xml.
 

O objetivo principal dos layouts relativos, como dissemos acima para o design é usar o mínimo possível de layouts aninhadosNeste exemplo de Calculadora, usamos um único layout com todos os seus componentes. Isso permitirá que o aplicativo seja mais rápido. O aninhamento com um layout diferente desacelera e diminui o desempenho do aplicativo.
UMA Hierarquia relativa de layout usualmente Ele usará menos quantidade de layout e terá um tratamento mais simples do que uma hierarquia LinearLayout. A vantagem sobre LinearLayout é que devemos criar um novo LinearLayout toda vez que quisermos alterar a orientação de um componente ou criar vistas adicionais. Como resultado, é recomendável usar o RelativeLayout primeiro para qualquer layout que tenha alguma complexidade.
O que mais LinearLayout ele é orientado apenas verticalmente ou horizontalmente em relação a um componente, enquanto o Layout Relative tem muito mais opções. Se você gostou e serviu este tutorial, me siga!Gostou e ajudou este tutorial?Você pode recompensar o autor pressionando este botão para dar a ele um ponto positivo
wave wave wave wave wave