Приложение падает в эмуляторе (Nox) и на старых версиях Android
Причина...
<Button
android:id="@+id/btn_start_test"
style="@style/BlueColoredButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_margin="@dimen/activity_horizontal_margin"
android:contentDescription="@string/test_start"
==>>>> android:drawableEnd="@drawable/ic_chevron_right_black_24dp"
==>>>> android:drawableRight="@drawable/ic_chevron_right_black_24dp"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:text="@string/test_start"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
Еще один пример
В приложении используются векторные иконки...
В Button android:drawableEnd
И собственно supportLibrary не поддерживает вектор в Button
Тут или заменить кнопку, например на ImageButton app:srcCompat="@drawable/ic_chevron_right_black_24dp"
А еще лучше отключить поддержку векторной графики/не включать ее...
Закомментировать в активити:
// static {
// AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
// }
build.gradle
// vectorDrawables {
// useSupportLibrary = true
// }
//vectorDrawables.useSupportLibrary = true
Собственно при отключенной поддержке, градл создаст png файлы для старой версии андроид,
и все будет работать...
Включать поддержку нужно, например когда требуется из svg иконки 24x24 сделать например такие кнопки. Без включенной поддержки - на Android SDK21 векторная графика выглядит верно, старая версия андроид попытается растянуть сгенерированную 24x24 png, что выглядит крайне ужасно...
Причина...
<Button
android:id="@+id/btn_start_test"
style="@style/BlueColoredButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_margin="@dimen/activity_horizontal_margin"
android:contentDescription="@string/test_start"
==>>>> android:drawableEnd="@drawable/ic_chevron_right_black_24dp"
==>>>> android:drawableRight="@drawable/ic_chevron_right_black_24dp"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:text="@string/test_start"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
Еще один пример
<Chronometer android:id="@+id/chronometer" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentTop="true" --> android:drawableLeft="@drawable/ic_timer_black_24dp" --> android:drawableStart="@drawable/ic_timer_black_24dp" android:padding="8dp" android:textColor="@color/colorPrimaryLite" android:visibility="gone" tools:background="#3C85FC" tools:ignore="RelativeOverlap" tools:text="@string/app_name" tools:visibility="visible" />
В приложении используются векторные иконки...
В Button android:drawableEnd
И собственно supportLibrary не поддерживает вектор в Button
Тут или заменить кнопку, например на ImageButton app:srcCompat="@drawable/ic_chevron_right_black_24dp"
А еще лучше отключить поддержку векторной графики/не включать ее...
Закомментировать в активити:
// static {
// AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
// }
build.gradle
// vectorDrawables {
// useSupportLibrary = true
// }
//vectorDrawables.useSupportLibrary = true
Собственно при отключенной поддержке, градл создаст png файлы для старой версии андроид,
и все будет работать...
Включать поддержку нужно, например когда требуется из svg иконки 24x24 сделать например такие кнопки. Без включенной поддержки - на Android SDK21 векторная графика выглядит верно, старая версия андроид попытается растянуть сгенерированную 24x24 png, что выглядит крайне ужасно...
Комментариев нет:
Отправить комментарий