Некоторые значки не отображаются на некоторых устройствах Android - PullRequest
0 голосов
/ 14 июня 2019

Я использую обычный способ установки векторных иконок в моем ImageView в Android.На некоторых устройствах значки не видны, появляются пустые места, не знаю, почему это происходит.Это происходит только в устройствах Android Pie

Вот некоторые из кодов, которые я использовал для настройки моих значков.Значки отлично отображаются в отладочном устройстве, но после выпуска некоторых устройств возникают проблемы.

<LinearLayout 
 android:layout_width="match_parent"
  android:padding="5sp"
  android:gravity="center"
  android:id="@+id/home_dr"
  android:layout_marginBottom="5sp"
  android:orientation="horizontal"
  android:layout_height="50sp">

<ImageView android:layout_width="50sp"
   android:padding="13sp"
   android:gravity="center"
   android:tint="@color/white"
   android:src="@drawable/ic_home"
   android:layout_height="50sp"/>

<TextView 
  android:layout_width="match_parent"
  android:layout_marginStart="10sp"
  android:text="Home"
  android:textColor="@color/white"
  android:textStyle="bold"
  android:gravity="center|start"
  android:layout_height="match_parent"/>
</LinearLayout>

Зайчик - часть изображения, которое вы можете хорошо понять

Ответы [ 2 ]

2 голосов
/ 14 июня 2019

добавьте это в свои приложения buil.gradle и внутри тега defaultConfig:

vectorDrawables.useSupportLibrary = true

, а затем используйте AppCompatImageView с app:srcCompat.как это:

            <android.support.v7.widget.AppCompatImageView
           android:layout_width="50sp"
                   android:padding="13sp"
                   android:gravity="center"
                   android:tint="@color/white"
                   app:srcCompat="@drawable/ic_home"
                   android:layout_height="50sp" />
1 голос
/ 14 июня 2019

В случае векторных иконок, вы должны установить их как srcCompact вместо src в представлении изображения.

app:srcCompat="@drawable/your_vector_name"

и в вашем build.gradle проверьте, включен ли вектор для рисования.

android {
defaultConfig {
    vectorDrawables.useSupportLibrary = true
}
}

Для поддержки уровня API 21 добавьте это в свое действие AppCompatDelegate.setCompatVectorFromResourcesEnabled (true);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...