我有一个动态高度的图像视图列表视图,我想显示一个中间图像与我的应用程序的徽标在中心。由于高度是动态变化的,因此在中心带有徽标的可绘制图形看起来会被拉长。我正在尝试添加一个布局到中间,加载失败的图像,如下所示,
options = new DisplayImageOptions.Builder()
.showImageOnLoading(R.layout.popup)
.showImageForEmptyUri(R.layout.popup)
.showImageOnFail(R.layout.popup)
.cacheInMemory(false).cacheOnDisk(true)
.considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565).build();
我正处于错误之下,
07-21 23:23:58.039: E/AndroidRuntime(19886): FATAL EXCEPTION: main
07-21 23:23:58.039: E/AndroidRuntime(19886): android.content.res.Resources$NotFoundException: File res/layout/popup.xml from drawable resource ID #0x7f03000e
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.content.res.Resources.loadDrawable(Resources.java:1912)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.content.res.Resources.getDrawable(Resources.java:657)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.nostra13.universalimageloader.core.DisplayImageOptions.getImageOnLoading(DisplayImageOptions.java:134)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:257)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.nostra13.universalimageloader.core.ImageLoader.displayImage(ImageLoader.java:365)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.tm.updater.MainPage$ImageAdapter.getView(MainPage.java:746)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.AbsListView.obtainView(AbsListView.java:2340)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.ListView.measureHeightOfChildren(ListView.java:1250)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.ListView.onMeasure(ListView.java:1162)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.View.measure(View.java:15264)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.RelativeLayout.measureChild(RelativeLayout.java:602)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:415)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.View.measure(View.java:15264)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4918)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.View.measure(View.java:15264)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.LinearLayout.measureVertical(LinearLayout.java:833)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.LinearLayout.onMeasure(LinearLayout.java:574)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.View.measure(View.java:15264)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4918)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2161)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.View.measure(View.java:15264)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2150)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1255)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1448)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1140)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4726)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:747)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.Choreographer.doCallbacks(Choreographer.java:567)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.Choreographer.doFrame(Choreographer.java:536)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:733)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.os.Handler.handleCallback(Handler.java:615)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.os.Handler.dispatchMessage(Handler.java:92)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.os.Looper.loop(Looper.java:153)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.app.ActivityThread.main(ActivityThread.java:5000)
07-21 23:23:58.039: E/AndroidRuntime(19886): at java.lang.reflect.Method.invokeNative(Native Method)
07-21 23:23:58.039: E/AndroidRuntime(19886): at java.lang.reflect.Method.invoke(Method.java:511)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
07-21 23:23:58.039: E/AndroidRuntime(19886): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
07-21 23:23:58.039: E/AndroidRuntime(19886): at dalvik.system.NativeStart.main(Native Method)
07-21 23:23:58.039: E/AndroidRuntime(19886): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #2: invalid drawable tag ScrollView
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:877)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:818)
07-21 23:23:58.039: E/AndroidRuntime(19886): at android.content.res.Resources.loadDrawable(Resources.java:1909)
07-21 23:23:58.039: E/AndroidRuntime(19886): ... 40 more
我想知道是否有更简单的方法来实现这一点。
发布于 2016-07-21 18:10:09
您不能将布局用作可绘制的。考虑实现您自己的displayer。
https://stackoverflow.com/questions/38511311
复制