我尝试在(明确地)定义好的视图(XML)上将ImageVIEw显示到我的应用程序中
<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"xmlns:tools="http://schemas.androID.com/tools"androID:ID="@+ID/activityShowLayout"androID:layout_wIDth="match_parent"androID:layout_height="match_parent"androID:background="#73C310"androID:orIEntation="vertical"tools:context=".ShowActivity" ><ImageVIEw androID:ID="@+ID/mainImage" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_above="@+ID/moodbutton" androID:layout_alignParentleft="true" androID:layout_alignParentRight="true" androID:layout_alignParenttop="true" androID:layout_margin="12dp" androID:background="#000" androID:src="@drawable/gs_04_pic" /><!-- ... -->
然后在活动上的onCreate方法中
@OverrIDepublic voID onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_show); /* ... blabla bla ... */ ImageVIEw imageVIEw = (ImageVIEw) findVIEwByID(R.ID.mainImage); Bitmap bitmap = BitmapFactory.decodeByteArray(cream.getMedia(), 0, cream.getMedia().length); Drawable draw = new BitmapDrawable(getResources(), bitmap); imageVIEw.setimageDrawable(draw); imageVIEw.invalIDate();}
使用cream.getMedia()返回有效字节[](来自数据库)
我可以登录给我:
07-18 17:41:16.812: I/app(9883): byte[] is: [B@414af0b0
但是最后,imageVIEw是黑色的(上面没有图像)
如果我不运行onCreate代码,它将显示XML中的资源集(也显示在XML中的黑色背景上)
怎么了?
解决方法:
我遇到了这个问题,就我而言,这个问题来自于以下配置:
流体
shrinkResources true
它删除了我的文件,因为我没有对资源的静态引用. (以我为例的图片)
所以我在链接Resource Shrinking中找到了这篇文章“保持资源”
在简历中说:您应该在此路径下创建一个文件“ /res/raw/keep.xml”
<?xml version="1.0" enCoding="utf-8"?><resources xmlns:tools="http://schemas.androID.com/tools" tools:keep="@layout/l_used*_c,@layout/l_used_a,@layout/l_used_b*"/>
总结 以上是内存溢出为你收集整理的无论如何我的android imageView都是黑色的全部内容,希望文章能够帮你解决无论如何我的android imageView都是黑色的所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)