2
respostas

A cor do botão não é alterada

Fiz conforme proposto no exercício.

drawable/botao_laranja_arredondado:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <corners android:radius="10dp" />
    <solid android:color="@android:color/holo_orange_dark" />
</shape>

Apenas o trecho do layout do botão:

<Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        android:layout_margin="8dp"
        app:layout_constraintVertical_bias="1.0"
        android:background="@drawable/botao_laranja_arredondado"
        android:text="@string/botao_realizar_pagamento"
        android:textColor="@color/white"/>

O drawable é aplicado no atributo do botão, pois as bordas ficam arredondas, porém o background laranja não é aplicado. O Moisés Inácio, postou a mesma dúvida no fórum e sugeriu como correção fazer a seguinte troca no themes.xml: parent="Theme.MaterialComponents.DayNight.DarkActionBar" por parent="Theme.AppCompat.Light.DarkActionBar"

Realmente essa troca resolve, mas não entendi o porquê.

2 respostas

Mauricio, de boa ?

Cara, nos projetos novos, as coisas vem tudo configuradas para o material design, isso impacta bastante o jeito que fazemos as coisas... por isso que quando você alterou o estilo da aplicação a sua troca funcionou.

Tente adicionar a seguinte propriedade ao botão:

<Button
    ...
    app:backgroundTint="@null"
/>

Não sei como a propriedade de colorTint funciona, mas sobrepõe as propriedades de cores dos botões.