我想从View对象的内部资源加载位图(源本身在“可绘制”文件中)。
代码是:
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.View;
public class BannerView extends View {
private Bitmap m_Banner = null;
public BannerView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
m_Banner = BitmapFactory.decodeResource(getResources(), R.drawable.banner);
}
}
为什么m_Banner值为空?
提前谢谢
了Kobi
答案 0 :(得分:4)
Eclipse Project - >在我的案件中,干净有帮助。
答案 1 :(得分:4)
我也有同样的问题,但我发现如果我将图片放入 drawable-ldpi ,它就可以了。我不知道为什么,但这对我有用。
答案 2 :(得分:3)
请确保所有sdk组件(用于eclipse的E.G Eclipse,Android SDK,SDK插件都是最新的)。
答案 3 :(得分:1)
当我使用jpeg图像文件时,我得到了null。但是当我将它转换为png然后在同一个地方使用它时它正常工作
答案 4 :(得分:0)
我的问题是我使用的是R.drawable.clickCamera,但clickCamera实际上是一个XML drawable(对于具有可选状态的按钮),而不是实际图像。那很傻。
答案 5 :(得分:-1)
调用BitmapFactory.decodeResource时检查选项参数。它是此方法的第三个参数,必须设置为false才能返回位图。