Livro 2 - Projeto da Mini-Calculadora

4. Desenhando a tela do aplicativo

4.4. Configurando os elementos

Siga os passos a seguir para fazer a configuração de cada elemento.

Configurando amountEditText

Nas configurações do EditText iremos fazer com que ele aceite apenas números e tenha um tamanho máximo. Para isso, localize as propriedades abaixo nesse componente e coloque os valores adequados:

  • digits: 0123456789 – isso fará com que sejam aceitos apenas números, e não símbolos numéricos com -, “,” ou “.” presentes no teclado numérico.
  • maxLength: 6 – limita o tamanho (número de caracteres) para o valor de entrada. Logo o valor mais alto aceito é 999999
Configurando amountTextView

Nas configurações localize as propriedades abaixo e coloque os valores adequados:

  • background: #BBDEFB – essa propriedade especifica a cor de fundo com componente
  • padding– essa propriedade especifica o espaçamento em volta do conteúdo da View. Nesse caso iremos selecionar a opção geral e alocar um novo tipo de recurso (similar as strings criadas no arquivo strings.xml) clicando no botão branco ao lado da caixa de entrada. Similar a quando se cria um novo recurso string, crie um novo recurso com o nome textview_padding e coloque seu valor como 16dp.

16

  • elevation–propriedade para adicionar o efeito de sombra a View. Novamente crie um novo recurso e coloque o nome textview_elevation com o valor 4dp.

Note que, ambos recursos criados nessa etapa (padding e elevation) serão usados nos demais componentes da tela por isso é necessário criar eles dessa forma ao invés de digitar manualmente pois seus valores serão compartilhados. Isto é, se eu modificar futuramente o valor de elevação então todos os componentes serão automaticamente configurados também.

Configurando percentSeekBar

Por padrão o componente SeekBar possui a margem de valor de 0 a 100, iremos modificar essa barra para ir de 0 a 30. Também iremos definir o valor inicial como 15. Assim, selecione esse componente e localize as propriedades abaixo para colocar os valores adequados:

  • max: 30
  • progress: 15 – essa propriedade especifica a cor de fundo com componente
Configurando tipTextView e totalTextView

Selecione esses componentes e localize as propriedades abaixo para colocar os valores adequados:

  • background: #FFE0B2
  • gravity: center - essa propriedade faz com que o texto seja centralizado no meio do componente
  • padding: selecione o recurso textview_padding
  • elevation: selecione o recurso textview_elevation
Omitindo a EditText

Usar uma EditText para representar o símbolo da moeda corrente é um tarefa complicada, mas existem diversas soluções na comunidade para lidar com o problema. Por exemplo, é possível usar uma biblioteca para incorporar ao projeto uma EditText personalizada.

Nesse aplicativo iremos fazer um pequeno truque para lidar com o padrão de moeda (R$, U$, etc). Vamos omitir a EditText fazendo com que amountTextView fique em cima dela, para tanto vamos suar a propriedade elevação. O usuário continuará digitando valores mas não verá especificamente a caixa de texto, o que ele verá será a TextView apresentando o valor digitado corretamente em padrão de moeda, por exemplo: R$ 120,00.

Para aplicar essa mudança no aplicativo selecione amountTextView e modifique a restrição do topo para criar uma relação com o parent. Use margem 16dp.

Observação: esse pequeno truque foi baseado no projeto do livro e só da certo porque nesse aplicativo só existe uma única EditText. Isso faz com que o aplicativo ao abrir já inicie o teclado numérico focado a EditText oculta.

Resultado final

Se você executou com exatidão os passos acima terá como resultado final a seguinte tela do aplicativo: