Нам нужно проверить версию API. Я использовал, чтобы придать цвет фона моему LinearLayout
как
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/as_royalblue"
android:orientation="vertical"></LinearLayout>
наверняка у меня была такая же ошибка, as_royalblue.xml
внутри drawable
папка
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:angle="90"
android:endColor="@color/royalblue_s"
android:startColor="@color/royalblue_e" />
</shape>
и как я это исправил , на самом деле кажется, что проблема Api, поэтому нам нужно проверить уровень API, если он выше API 24, чтобы мы могли использовать то, что нам нравится. Но если он меньше 24, нам нужно избегать использования, выступы дают нормальный цвет или один цвет, а не цветовой градиентно-смешанный.
fun checkAPI_N(): Boolean {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N)
return true
else
return false
}
присвойте id вашим линейным разметкам и установите фон, если все в порядке
if(UtilKotlin.checkAPI_N()){
linlay_act_menu_container.setBackgroundResource(R.drawable.a_6)
linlay_act_menu_logo.setBackgroundResource(R.drawable.as_strain)
}else {//todo normal color background setting}