Я недавно обновился с материала 1.0 до материала 1.1, чтобы иметь возможность использовать новый TabLayoutMediator
.
Gradle:
implementation 'com.google.android.material:material:1.1.0'
Это сработало. Тем не менее, теперь я столкнулся со странными проблемами интерфейса после обновления.
[
Я включил четыре изображения на картинке. Проблемы:
- Кнопки MaterialButtons имеют черную рамку. Перед обновлением у них не было границ.
- Material FloatingActionsButtons внезапно имеют черные значки. До обновления иконки были белыми.
- Иконки навигации тоже черные. До обновления эти значки были серыми sh.
- Текстовые поля деформированы до неузнаваемости
Теперь я нахожу странным, что такое незначительное обновление может вызвать такие странные проблемы. Также странно, что я попробовал некоторые ручные исправления - например, изменение оттенка FloatingActionButton, чтобы снова получить белый значок, - но эти ручные исправления, похоже, не работают.
В чем причина этих проблем и как я могу это исправить? Я подумал вернуться к материалу 1.0 ....
Обновление
Тема моего приложения:
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:textViewStyle">@style/GlobalTextViewStyle</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
</style>
My MaterialButton :
<com.google.android.material.button.MaterialButton
style="@style/Widget.AppCompat.Button.Borderless"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_marginEnd="16dp"
android:layout_marginBottom="20dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:textAllCaps="false"
android:textColor="#FFF"
android:textSize="15sp"
app:backgroundTint="#2196F3"
app:cornerRadius="6dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintWidth_max="400dp"
app:strokeWidth="2dp" />
Обновление # 2
Пока все исправлено вручную, меняя цвета. Кажется, что значения по умолчанию изменились в материале 1.1. Тем не менее, текстовые поля по-прежнему вызывают проблемы. Вот код, который я использую для их добавления:
TextInputLayout textInputLayout = new TextInputLayout(view.getContext());
textInputLayout.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
textInputLayout.setPadding(0, 0, 0, 40);
TextInputEditText editText = new TextInputEditText(view.getContext());
editText.setHint(getVerboseName());
textInputLayout.addView(editText);
linearLayout.addView(textInputLayout);