Livro 4 - Projeto da Previsão do Tempo

5. Desenhando a tela principal do aplicativo e um layout personalizada para item da ListView

5.1. Layout do arquivo activity_main.xml

Primeiramente vamos configurar o arquivo activity_main.xml.

  • Selecione o elemento CoordinatorLayout e configure sua propriedade id para coordinatorLayout
    • Isso é importante pois vamos usar esse ID para identificar onde será posicionado o componente SnackBar
  • Selecione o elemento FloatingActionButton e:
    • Modifique sua propriedade layout_gravity de “bottom|end” para “top”end”. 
    • Modifique também a propriedade srcCompat com o botão “...” ao lado e selecione o ícone adicionado anteriormente ao projeto (ic_done_24dp).
    • A fim de mover o botão a direita da caixa de texto, defina um novo recurso de dimensão fab_margin_top com o valor 60dp e use na propriedade layout_margin_tup.

Como resultado final o arquivo deve ficar como:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/Theme.WeatherApp.AppBarOverlay">

<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/Theme.WeatherApp.PopupOverlay" />

</com.google.android.material.appbar.AppBarLayout>

<include layout="@layout/content_main" />

<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top|end"
android:layout_marginTop="@dimen/fab_margin_top"
android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginBottom="16dp"
app:srcCompat="@drawable/ic_done_24" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>