2017-03-13 11 views
0

画像とボタンがあり、背景を別の画像にしたい。 問題は、android:background = "@ drawable/celekula.jpg"を追加しても機能しないということです。 AndroidのXMLファイル内の を検証リソース参照...Androidスタジオ:背景画像が機能しない - シンボルを解決できない

が少ない '描画可能/ celekula.jpg @' 記号を解決できません

を、これらはエラーの詳細です:私はこのエラーを取得する

java.lang.NumberFormatException: Color value '@drawable/celekula.jpg' must start with # 
at com.android.layoutlib.bridge.impl.ResourceHelper.getColor(ResourceHelper.java:87) 
at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:356) 
at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:695) 
at android.view.View.<init>(View.java:4175) 
at android.view.ViewGroup.<init>(ViewGroup.java:578) 
at android.widget.LinearLayout.<init>(LinearLayout.java:211) 
at android.widget.LinearLayout.<init>(LinearLayout.java:207) 
at android.widget.LinearLayout.<init>(LinearLayout.java:203) 
at sun.reflect.GeneratedConstructorAccessor152.newInstance(Unknown Source) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:163) 
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785) 
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861) 
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:834) 
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324) 
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429) 
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548) 
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533) 
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966) 
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533) 
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$53(RenderTask.java:659) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
at java.lang.Thread.run(Thread.java:745) 

すべてのドロウアブルフォルダに画像(celekula.jpg)があります。これは私のXMLコードです:

<LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/celekula.jpg" 
     > 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      app:srcCompat="@drawable/tvrdjava" 
      android:id="@+id/imageView8" 
      android:adjustViewBounds="true" 
      android:cropToPadding="false" /> 

     <Button 
      android:text="ButtonBlaTest" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/button" /> 

</LinearLayout> 

答えて

1

これはおそらく、インデックス付きの名前がファイル拡張子なしで描画可能介して配置され、通常はImageViewの中で、あなたの画像の拡張子.jpgのを認識しません。拡張子を付けずに名前を付けると、アンドロイドスタジオは問題なくインデックスを作成する必要があります。新しいイメージのインデックスを作成するために、常に「クリーン」または「再ビルド」プロジェクトを作成できます。

+0

あなたはそうです!私は拡張子を削除することを考えたことはありません* facepalm *ありがとうカルロ! – IkePr

+0

これは、すべてのタイプの画像、png、jpg、bmpなどで動作します。 –

関連する問題