我正在努力为游戏创建一个健康栏,但它失败了:提前致谢!
//there a corresponding ImageView in the layout
healthLevel = (ImageView) findViewById(R.id.healthbar);
BitmapDrawable bitmapDrawable = new BitmapDrawable(getResources(), "res/drawable/health.png");
//vertical bar cropped from top
clipDrawable = new ClipDrawable(bitmapDrawable, Gravity.BOTTOM, ClipDrawable.VERTICAL);
healthLevel.setImageDrawable(clipDrawable);
HelperClass.setHealth();
clipDrawable.setLevel(10000);
clipDrawable.invalidateSelf();
日志:
11-12 19:32:46.272: W/BitmapDrawable(10524): BitmapDrawable cannot decode res/drawable/health.png
解决方案:
//there a corresponding ImageView in the layout
healthLevel = (ImageView) findViewById(R.id.healthbar);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.health);
//Convert Bitmap to Drawable
Drawable bitmapDrawable = new BitmapDrawable(getResources(),bmp);
//vertical bar cropped from top
clipDrawable = new ClipDrawable(bitmapDrawable, Gravity.BOTTOM, ClipDrawable.VERTICAL);
healthLevel.setImageDrawable(clipDrawable);
HelperClass.setHealth();
clipDrawable.setLevel(10000);
clipDrawable.invalidateSelf();