Eclipse Grapic Layout: невозможно разрешить рисование ... в атрибуте «background»

1

Привет. Я добавляю фоновый XML файл в Imageview, но получаю эту ошибку в графическом макете Eclipse:

Ошибка! Не удалось разрешить доступный "Com.android.ide.common.rendering.api.ResourceValue@1ae0c2" в атрибуте "background" Exception детали регистрируются в окне > Показать Просмотp > Журнал ошибок

Когда я запускаю виджет на устройстве, фон отображается правильно, но ошибка в Eclipse действительно раздражает. Фоновый файл:

<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/grey_back_tile"
    android:tileMode="repeat" />

И здесь, где я его использую:

    <ImageView android:layout_gravity="top|center_horizontal" android:layout_marginTop="4dp" android:layout_width="286dp" android:layout_height="47dp" android:background="@drawable/widget_background_banner"/>        

Трассировка стека журнала ошибок показывает:

org.xmlpull.v1.XmlPullParserException: Бинарная строка XML файла # 5: требует действительного атрибута src при android.graphics.drawable.BitmapDrawable.inflate(BitmapDrawable.java:341)   в android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:779)   в android.graphics.drawable.Drawable.createFromXml(Drawable.java:720)   в com.android.layoutlib.bridge.ResourceHelper.getDrawable(ResourceHelper.java:150)   в com.android.layoutlib.bridge.BridgeTypedArray.getDrawable(BridgeTypedArray.java:668)   в android.view.View. (View.java:1846)   в android.widget.ImageView. (ImageView.java:109)   в android.widget.ImageView. (ImageView.java:105)   в sun.reflect.GeneratedConstructorAccessor16.newInstance(Неизвестно Источник) в sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Неизвестно Источник) в java.lang.reflect.Constructor.newInstance(Неизвестно Источник) в android.view.LayoutInflater.createView(LayoutInflater.java:499)   в android.view.BridgeInflater.onCreateView(BridgeInflater.java:77)   в android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:562)   в android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:122)   в android.view.LayoutInflater.rInflate(LayoutInflater.java:617)   в android.view.LayoutInflater.rInflate(LayoutInflater.java:620)   в android.view.LayoutInflater.inflate(LayoutInflater.java:407)   в android.view.LayoutInflater.inflate(LayoutInflater.java:296)   в com.android.layoutlib.bridge.Bridge.computeLayout(Bridge.java:377)   в com.android.ide.common.rendering.LayoutLibrary.createLegacySession(LayoutLibrary.java:394)   в com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:276)   в com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(Неизвестно Источник) в com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.renderWithBridge(Неизвестно Источник) в com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.recomputeLayout(Неизвестно Источник) в com.android.ide.eclipse.adt.internal.editors.layout.gle2.GraphicalEditorPart.activated(Неизвестно Источник) в com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.partActivated(Неизвестно Источник) в com.android.ide.eclipse.adt.internal.editors.layout.LayoutEditor.partBroughtToTop(Неизвестно Источник) в org.eclipse.ui.internal.PartListenerList $2.run(PartListenerList.java:87)   в org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)   в org.eclipse.core.runtime.Platform.run(Platform.java:888)   в org.eclipse.ui.internal.PartListenerList.fireEvent(PartListenerList.java:57)   в org.eclipse.ui.internal.PartListenerList.firePartBroughtToTop(PartListenerList.java:85)   в org.eclipse.ui.internal.PartService.firePartBroughtToTop(PartService.java:208)   в org.eclipse.ui.internal.WorkbenchPagePartList.firePartBroughtToTop(WorkbenchPagePartList.java:76)   в org.eclipse.ui.internal.WorkbenchPagePartList.fireActiveEditorChanged(WorkbenchPagePartList.java:52)   в org.eclipse.ui.internal.PartList.setActiveEditor(PartList.java:162)   в org.eclipse.ui.internal.WorkbenchPage.makeActiveEditor(WorkbenchPage.java:1281)   в org.eclipse.ui.internal.WorkbenchPage.setActivePart(WorkbenchPage.java:3530)   в org.eclipse.ui.internal.WorkbenchPage.requestActivation(WorkbenchPage.java:3077)   в org.eclipse.ui.internal.PartPane.requestActivation(PartPane.java:279)   в org.eclipse.ui.internal.EditorPane.requestActivation(EditorPane.java:98)   в org.eclipse.ui.internal.PartPane.setFocus(PartPane.java:325)   в org.eclipse.ui.internal.EditorPane.setFocus(EditorPane.java:127)   в org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:844)   в org.eclipse.ui.internal.PartStack.access $1 (PartStack.java:827)   в org.eclipse.ui.internal.PartStack $1.selectPart(PartStack.java:137)   в org.eclipse.ui.internal.presentations.util.TabbedStackPresentation $1.handleEvent(TabbedStackPresentation.java:133)   в org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:269)   в org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:278)   в org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.Доступ к $1 (DefaultTabFolder.java:1)   в org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder $2.handleEvent(DefaultTabFolder.java:88)   в org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)   в org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)   в org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)   в org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)   в org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:774)   в org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:2743)   в org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:1429)   в org.eclipse.swt.custom.CTabFolder $1.handleEvent(CTabFolder.java:257)   в org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)   в org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)   в org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066)   в org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657)   в org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)   в org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)   в org.eclipse.ui.internal.Workbench.access $4 (Workbench.java:2438)   в org.eclipse.ui.internal.Workbench $7.run(Workbench.java:671)   в org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)   в org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)   в org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)   в org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)   в org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)   в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)   в org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)   в org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)   в org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)   в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Метод) при sun.reflect.NativeMethodAccessorImpl.invoke(Неизвестно Источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke(Неизвестно Источник) в java.lang.reflect.Method.invoke(Неизвестно Источник) в org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619)   в org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)   в org.eclipse.equinox.launcher.Main.run(Main.java:1407)

Естественно, что "grey_back_tile.png" является допустимым ресурсом, и он расположен в папке "drawable-hdpi". Любой ключ, чтобы избавиться от этой ошибки?

  • 0
    Вы скопировали свои чертежи во все папки hdpi, ldpi, mdpi
Теги:
background
bitmap

1 ответ

2

Я знаю, что опаздываю, но столкнулся с той же проблемой. Я довольно уверен, что это ошибка Eclipse ADT, но для предотвращения раздражающих ошибок, если вы создаете стиль и добавляете элемент фона в свой черепичный фон и ссылаетесь на макет на это, в отличие от редактирования атрибута фона на макете, это должен работать, и вы не получите раздражающих ошибок.

Итак, мозаичный фон XML с именем app_background:

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/space"  android:tileMode="repeat" />

Затем стиль, ссылаясь на него:

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="TestBackground">
        <item name="android:background">@drawable/app_background</item>
    </style>
</resources>

И затем присвойте стиль макету:

style="@style/TestBackground"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню