Adicionei o design do material appCompat ao meu aplicativo e parece que as caixas de diálogo de alerta não estão usando minhas cores primária, primária, escura ou de destaque.
Aqui está o meu estilo base:
<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/apptheme_color</item>
<item name="colorPrimaryDark">@color/apptheme_color_dark</item>
<item name="colorAccent">@color/apptheme_color</item>
<item name="android:textColorPrimary">@color/action_bar_gray</item>
</style>
Com base no meu entendimento, o texto do botão de diálogos também deve usar essas cores. Estou errado no meu entendimento ou há algo mais que preciso fazer?
Solução:
A resposta marcada me colocou no caminho certo.
<style name="MaterialNavyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/apptheme_color</item>
<item name="colorPrimaryDark">@color/apptheme_color_dark</item>
<item name="colorAccent">@color/apptheme_color</item>
<item name="android:actionModeBackground">@color/apptheme_color_dark</item>
<item name="android:textColorPrimary">@color/action_bar_gray</item>
<item name="sdlDialogStyle">@style/DialogStyleLight</item>
<item name="android:seekBarStyle">@style/SeekBarNavyTheme</item>
</style>
<style name="StyledDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="colorPrimary">@color/apptheme_color</item>
<item name="colorPrimaryDark">@color/apptheme_color_dark</item>
<item name="colorAccent">@color/apptheme_color</item>
</style>
android
material-design
android-support-library
android-appcompat
material-components-android
Mateus
fonte
fonte
Respostas:
ATUALIZADO EM ago 2019 COM Os componentes do material para a biblioteca android:
Com os novos componentes de material para a biblioteca do Android, você pode usar a nova
com.google.android.material.dialog.MaterialAlertDialogBuilder
classe, que se estende daandroidx.appcompat.AlertDialog.Builder
classe existente e fornece suporte para as especificações mais recentes de design de material.Basta usar algo como isto:
Você pode personalizar as cores estendendo o
ThemeOverlay.MaterialComponents.MaterialAlertDialog
estilo:Para aplicar seu estilo personalizado, basta usar o construtor:
Para personalizar os botões, o título e o texto do corpo, verifique esta postagem para obter mais detalhes.
Você também pode alterar globalmente o estilo no tema do seu aplicativo:
COM BIBLIOTECA DE SUPORTE e TEMA APPCOMPAT:
Com o novo,
AppCompat v22.1
você pode usar o novo android.support.v7.app.AlertDialog .Basta usar um código como este:
E use um estilo como este:
Caso contrário, você pode definir em seu tema atual:
e depois no seu código:
Aqui o AlertDialog em Kitkat:
fonte
<item name="android:alertDialogTheme">@style/AppCompatAlertDialogStyle</item>
ao inicializar o construtor de diálogo, passe o segundo parâmetro como o tema. Ele mostrará automaticamente o design do material com o nível 21 da API.
ou,
fonte
AppCompat não faz isso para diálogos (ainda não pelo menos)
EDIT: faz agora. certifique-se de usar
android.support.v7.app.AlertDialog
fonte
import app.AlertDialog
não me deu o appCompat. Eu tentei descobrir o que há de errado por cerca de 40 minutos antes de realmente verificar ... Maldito seja, o google!Você pode considerar este projeto: https://github.com/fengdai/AlertDialogPro
Ele pode fornecer diálogos de alerta de temas materiais quase iguais aos dos pirulitos. Compatível com Android 2.1.
fonte
Você poderia usar
Biblioteca de design de materiais
Biblioteca de design de materiais feita para diálogos , botões e outras coisas bem alertas , como lanchonetes. Atualmente, é fortemente desenvolvido.
Guia, código, exemplo - https://github.com/navasmdc/MaterialDesignLibrary
Guia de como adicionar biblioteca ao Android Studio 1.0 - Como importo a biblioteca de design de material para o Android Studio?
.
Feliz codificação;)
fonte
Experimente esta biblioteca:
https://github.com/avast/android-styled-dialogs
É baseado em
DialogFragments
vez deAlertDialogs
(como o de @afollestad). A principal vantagem: os diálogos não são descartados após a rotação e os retornos de chamada ainda funcionam.fonte
Por alguma razão, o android: textColor parece apenas atualizar a cor do título. Você pode alterar a cor do texto da mensagem usando um
fonte
Diálogos de alerta de estilo de design de materiais: fonte personalizada, botão, cor e forma, ..
Estilo:
Resultado:
fonte