Bom dia a todos,
Eu resolvi fazer uma variação visual do meu botão colocando um fundo gradiente ao invés de uma cor sólida. A implementação do arquivo de fundo ficou da seguinte forma:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:centerX="50%"
android:centerY="50%"
android:endColor="#2f62ff"
android:startColor="#6a91ff"
android:gradientRadius="100"
android:type="radial" />
</shape>
A questão é:
Quando eu testei numa imagem de API lv 23, o fundo do meu botão ficou em gradiente.
No entanto, quando testei diretamente no meu celular, API lv 21 o fundo do botão não ficou gradiente, ficou com a cor do android:startColor="#6a91ff"
.
E, por mais estranho que pareça, funcionou num emulador de API 15!??!
Esse problema está relacionado com a versão da API, como suspeito, ou está faltando alguma coisa na minha configuração?
a configuração do botão:
<Button
android:layout_width="56dp"
android:layout_height="56dp"
android:text="+"
android:textSize="40sp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="16dp"
android:layout_marginRight="16dp"
android:textColor="#ffffff"
android:background="@drawable/botao_fundo"
android:elevation="6dp"
android:stateListAnimator="@null"/>
Outro problema relacionado, é que o sombreamento do botão não apareceu numa imagem de API abaixo de 19, mesmo com o android:stateListAnimator="@null"/>
.