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

android:stateListAnimator="@null"

Olá.

No vídeo o instrutor disse que o atributo android:stateListAnimator="@null" deve ser colocado nos androids mais antigos para que a sombra no botão apareça.

Não apareceu no meu android 4.4.2.

O que pode ser feito?

Obrigado.

2 respostas
solução!

Olá Julius!

Realmente esse atributo é necessário para fazer com que a sombra do botão apareça em alguns Androids mais antigos mas isso não funciona em todos os dispositivos.

Uma solução mais adequada e mais atualizada seria utilizar o componente FloatingActionButton disponibilizado recentemente na biblioteca Design Support da Google.

Para utilizá-la, primeiro você precisa registrar essa biblioteca como uma dependência do seu projeto. Abra o arquivo build.gradle (Module: app) do seu projeto e adicione a linha abaixo no bloco dependencies:

dependencies {
    ... mantenha as outras linhas aqui e adicione a linha abaixo ...
    compile 'com.android.support:design:23.0.1'
}

Com isso, o Gradle irá baixar automaticamente a biblioteca no seu projeto. Agora você só precisa alterar o seu layout para utilizar o novo componente:

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

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

    <android.support.design.widget.FloatingActionButton
        android:id="@+id/lista_alunos_novo_aluno"
        android:layout_width="56dp"
        android:layout_height="56dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginBottom="16dp"
        android:layout_marginRight="16dp"
        android:src="@android:drawable/novo"
        app:backgroundTint="#ff0000" />

</RelativeLayout>

Nesse caso a maior diferença será a necessidade de se utilizar uma imagem com o sinal de "+" já que o esse componente não permite o uso do atributo text.

As vantagens são que esse componente tem uma compatibilidade melhor com as versões mais antigas do Android e ele possui as animações de mudança de estado (botão pressionado, por exemplo).

Abraço!

Obrigado.