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

Drawable não preenche todo o FloatingActionButton

Boa tarde,

Estou com problemas ao adicionar o icone feito através do drawable no Floating Action. Ao acrescentar o icone da mesmo forma em que foi adicionado na aula, o resultado é diferente e o botão fica pequeno com bordas brancas, não preenchendo completamente o botão.

Imagem
<?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"


    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@+id/activity_lista_alunos_fab_novo_aluno"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_margin="16dp"
        android:clickable="true"
        android:focusable="true"
        android:src="@drawable/ic_action_bottom"
    />

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

</RelativeLayout>
6 respostas

Oi Darlan, tudo bem? Você poderia disponibilizar o xml do seu ic_action_bottom?

Aqui está o XML do ic_action_bottom:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24"
    android:tint="#CD3232"
    android:alpha="0.8">


  <group android:scaleX="1.2"
      android:scaleY="1.2"
      android:translateX="-2.4"
      android:translateY="-2.4">
    <path
        android:fillColor="@android:color/white"

    android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM17,13h-4v4h-2v-4L7,13v-2h4L11,7h2v4h4v2z"/>

  </group>

</vector>

Oi, acho que esse width e height deveriam ser match_parent assim como o viewport

Olá Wanderson,

Tentei fazer as modificações como você instruiu, porém os atributos não aceitam o valor "match_parent", nem mesmo o Android Studio o sugere. Ao forçar a utilização, é lançada a exception:

Caused by: java.lang.IllegalArgumentException: Width (0) and height (0) cannot be <= 0

Provavelmente nesse caso, somente números podem ser usados como valores, então tentei substituir pelo android:layout_width="match_parent" e android:layout_height="match_parent" ou até mesmo usa-los em paralelos, contudo, em ambos os casos o código compila mas o app quebra.

solução!

Seu ícone está incorreto, você fez, ou pegou, um ícone circular vermelho com um "+" vazado no meio ou invés de ser um "+" desenhado com o resto todo vazado. O FloatingButton tem realmente essas borda em qualquer ícone que você colocar. Para resolver gere um ícone somente no formato de "+" na cor que você quer e se quiser mudar a cor do FloatingButton use o backgroundTint

Boa Anderson, no olho não percebi isso! Mandou bem!

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