Кнопки диалогового окна темы Материальные компоненты становятся тучными после смены темы Приложения - PullRequest
0 голосов
/ 12 сентября 2018

Сегодня я опробовал новые компоненты материалов, часть их установки заключается в том, что вам нужно изменить родительский элемент вашего приложения для наследования от Theme.MaterialComponents.Поэтому я сделал это, потому что хотел использовать навигацию снизу с более приятной пульсацией.Но после этого почти все кнопки в приложении стали более толстыми.

Что я должен сделать, чтобы вернуться к предыдущему состоянию (изображение справа)?

On left is a material version on right is appcompat version Слева - версия материала, справа - версия appcompat

Ответы [ 3 ]

0 голосов
/ 16 сентября 2018

Другой способ сделать это - использовать AlertDialog из библиотеки AndroidX AppCompat:

AlertDialog signInDialog = new AlertDialog.Builder(this)
    .setMessage("Are you sure you want to log out?")
    .setPositiveButton("OK", (dialogInterface, i) -> {
        // TODO: Add your code here
    })
    .setNegativeButton("Cancel", (dialogInterface, i) -> {
        // TODO: Add your code here
    })
signInDialog.show();
0 голосов
/ 15 февраля 2019

см. Мой ответ здесь: https://stackoverflow.com/a/54416793/2342163

<style name="Theme.Custom.Material.Alert.Dialog.Light" parent="Theme.MaterialComponents.Light.Dialog.Alert">
    <item name="materialButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>

<style name="Theme.Custom.Material.Base.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="android:dialogTheme">@style/Theme.Custom.Material.Alert.Dialog.Light</item>
    <item name="android:alertDialogTheme">@style/Theme.Custom.Material.Alert.Dialog.Light</item>
  ....
</style>
0 голосов
/ 12 сентября 2018

Во время исследования я нашел ответ, оставлю его здесь, может быть, он кому-нибудь поможет.

Причина, по которой они выглядят так, заключается в том, что они используют style="attr/buttonBarNegativeButtonStyle", а материальная тема переопределяет их

Чтобы решить эту проблему, вам нужно использовать тему моста вместо Theme.MaterialComponents.Light

<style name="Theme.MyApp" parent="Theme.MaterialComponents.Light.Bridge">
    <!-- ... -->
</style>

подробнее здесь: https://github.com/material-components/material-components-android/blob/master/docs/getting-started.md#bridge-themes

...