Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

FloatingButton entrando na ListView 3-1 Entendendo a teoria básica de construção de layouts

Olá, pessoal Ao tentar mover o floatingbutton para o canto inferior da tela, utilizando a ferramenta de design gráfico do android studio, o botão não se mexe, acaba entrando dentro da listview e não sobrepõem ela...

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">

    <ListView
        android:id="@+id/activity_main_lista_de_alunos"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/floatingActionButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            app:srcCompat="@android:drawable/ic_input_add" />
    </ListView>

</RelativeLayout>
2 respostas
solução!

Bom, pra colocar qualquer coisa flutuando na tela tem um ótimo truque, tem uma tag chamada "Include" ele inclui uma layout na outra e elas ficam sobre postas. EX:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/titlebar_bg"
    tools:showIn="@layout/activity_main" >
<com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/floatingActionButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            app:srcCompat="@android:drawable/ic_input_add" />
</FrameLayout>

Aqui nós temos só um botão na layout, agora criamos uma Layout com uma list separada:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:orientation="vertical"
   tools:context=".ListActivity" 
   tools:="@layout/list_layout">

   <ListView
      android:id="@+id/mobile_list"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" >
   </ListView>

</LinearLayout>

Agora é só inserir um include como primeiro item do primeiro layout que o botão ou qualquer outra view vai ficar em cima flutuando:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/titlebar_bg"
    tools:showIn="@layout/activity_main" >

<include android:id="@+id/news_title"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         layout="@layout/list_layout"/>

<com.google.android.material.floatingactionbutton.FloatingActionButton
            android:id="@+id/floatingActionButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:clickable="true"
            app:srcCompat="@android:drawable/ic_input_add" />
</FrameLayout>

e pronto. Uma dica quando criar um novo projeto e na janela de escolha de activitys ,escolha a que tem o float button e verá um exemplo prático de como o android studio usa o include.

Esqueci de falar do seu problema foi mal, é o seu botão está dentro da tag da lista ai ele não se mexe mesmo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software