![](/img/trans.png)
[英]How can I set the background of an android layout to a color plus an image?
[英]I can't use the color value to set the background for the layout
這是我的布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/c8" android:orientation="vertical" android:gravity="center_horizontal" tools:context="com.leo.accelerate.activity.SplashActivity"> <ImageView android:layout_marginTop="190dp" android:layout_width="146dp" android:layout_height="146dp" android:src="@mipmap/icon_splash" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="36dp" android:src="@mipmap/boost_shanping_name" /> </LinearLayout>
我得到了錯誤:
Caused by: android.content.res.Resources$NotFoundException: Resource "com.leo.accelerate:style/RtlOverlay.DialogWindowTitle.AppCompat" (7f0b0028) is not a Drawable (color or path): TypedValue{t=0x1/d=0x7f0b0028 a=-1 r=0x7f0b0028}
根據地址值0x7f0b0028
找到問題顏色
find . -type f | xargs grep "0x7f0b0028"
result:
./app-default-release/res/values/public.xml: <public type="color" name="c8" id="0x7f0b0028" />
./app-default-release/smali/com/leo/accelerate/R$color.smali:.field public static final c8:I = 0x7f0b0028
問題代碼是名為c8
的color
值,在布局中的背景屬性中使用
當我用drawable替換他時,問題不存在。
我該如何解決這個問題?
請檢查您的顏色值@color/c8 。 您的顏色c8值可能是錯誤的。 嘗試另一種顏色,它是工作。 嘗試使用android:background="@android:color/black" 。 如果它有效,那么我確定您的顏色值是錯誤的。 您不能使用像0x7f0b0028這樣的十六進制顏色值。
它應該可以正常工作,我知道可能導致問題的唯一原因是:
您提供的顏色屬性名稱不正確。
不支持您在顏色值文件夾中賦予屬性的值。
您在您嘗試繪制的 xml 項目中多次寫入背景屬性。
您使用的模擬器不支持此顏色。
請務必檢查所有這些原因,如果在確定所有這 4 個原因后您仍然有問題,請聯系我們,我們將嘗試進一步調查您的問題。
最好的問候, Lidor
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.