フィンガーペイントアプリを作成しました。フィンガー ペイント Android サンプル API から。(サンプル: http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android-apps/2.2_r1.1/com/example/android/apis/graphics/FingerPaint.ジャバ)
これで、ペイント (および移動) からビットマップを作成する関数を作成しました。これは私のコードです:
public void addProgrammatlyImage(int pos[], String filePath){
// Let's create the missing ImageView
ImageView image = new ImageView(this);
// Now the layout parameters, these are a little tricky at first
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
image.setScaleType(ImageView.ScaleType.MATRIX);
Bitmap selectedImage = BitmapFactory.decodeFile(filePath);
image.setImageBitmap(selectedImage);
image.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
System.out.println("TOUCH!!");
switch(event.getActionMasked())
{
case MotionEvent.ACTION_DOWN:
offset_x = (int)event.getX();
offset_y = (int)event.getY();
selected_item = v;
break;
default:
break;
}
return false;
}
});
// Let's get the root layout and add our ImageView
FrameLayout layout = (FrameLayout) findViewById(R.id.vg1);
layout.setBackgroundColor(getResources().getColor(R.color.xxx));
layout.bringToFront();
((FrameLayout) layout).addView(image, 0, params);
}
私の問題は次のとおりです。
フィンガーペイント ビュー (サンプルの MyView クラス) の同じレベルで新しい画像を膨らませると、背景に消えます (フィンガーペイントは画像の前にあります)。
MyView の子として画像を挿入できません。この場合、画像を膨張させるときに問題があります:
classcast exception
、ビュー (MyViewClass) を にキャストできませんViewGroup
。
私を助けてもらえますか??