投稿

ラベル(リソース)が付いた投稿を表示しています

レイアウトエディタのリソース参照エラー

グラフィックスライブラリによる描画において、その描画をeclipseのレイアウトエディタで確認しようとすると、以下のエラーが出力されて、悩んでしまうことがあります。 android.content.res.Resources$NotFoundException: Could not resolve resource value: 0x7F05000A. これは、指定したリソースが参照できないというエラーです。 リソースの定義は、以下のように正しく行っています。 /res/values/color.xml <?xml version="1.0" encoding="utf-8"?> <resources>      <!-- Top Page用 -->      <color name="tile_light">#4169e1</color>      <color name="tile_dark">#0000cd</color>      <color name="tile_char">#ffffff</color> </resources> R.javaファイルにもリソースIDが保存されているようです。 public static final class color {     public static final int tile_char=0x7f05000b;     public static final int tile_dark=0x7f05000a;     public static final int tile_light=0x7f050009; } 色を指定方法にも問題はないです。 private Paint mPaint = new Paint (); mPaint.setColor(getResources().getColor(R.color.tile_dark)); このよ...

リソースの描画

サンプルの「Snake」を題材として、アプリ作成の基本をまとめるシリーズです。 第五回目は「リソースの描画」です。 まずは、リソースをCanvasに描画する手順についてです。 リソースをBitmapオブジェクトとして取得する場合と、Drawableオブジェクトとして取得する場合とに分けることができます。 ◆リソースをBitmapオブジェクトとして取得して描画する場合 ①リソースオブジェクトの取得 Resource res = Context.getResource() ②Bitmapオブジェクトの取得 Bitmap image = BitmapFactory.decodeResource(res, R.drawable.画像ファイル名) ③CanvasクラスのメソッドでCanvasに描画 Canvas.drawBitmap(image, int x, int y, Paint p) ◆リソースをDrawableオブジェクトとして取得して描画する場合 ①リソースオブジェクトの取得 Resource res = Context.getResource() ②Drawableオブジェクトの取得 Drawable image = res.getDrawable(R.drawable.画像ファイル名) ③DrawableオブジェクトのメソッドでCanvasに描画 image.setBounds(int left, int top, int right, int bottom) image.draw(Canvas canvas) 次に、「Snake」に於けるリソースの描画です。 「Snake」では、リソースをそのままCanvasに描画してはいません。 まずは、リソースからDrawableオブジェクトとして取得したimageを、CanvasではなくBitmapに、画像データとして描画しています。 【TileView.java】 public void loadTile(int key, Drawable tile) { Bitmap bitmap = Bitmap.createBitmap(mTileSize, mTileSize, Bitmap.Config.ARGB_8888);//...① Canvas canvas = new Canvas(bitmap);//......