2012-03-18 11 views
1

私はこれを行う場合、私はcanavasにこのロゴを追加することができます。FrameLayout.addView()でキャンバスに画像ビューを追加しようとしています。

FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(200,200); 

ImageView boo = new ImageView(ExampletouchActivity.this); 
boo.setImageResource(R.drawable.ic_launcher); 
boo.setLayoutParams(lp); 
fr.addView(boo); //this works fine 

をしかし、私はこのようにキャンバスに同じロゴを追加しようとした場合、それは何も表示されません。

fr.addView(new Toucher(ExampletouchActivity.this)); 

マイ触れる人クラスがそうであるように...

public class Toucher extends View{ 
ImageView boo; 

public Toucher(Context context) 
{ 
    super(context); 
    FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(200,200); 
    boo = new ImageView(context); 
    boo.setImageResource(R.drawable.ic_launcher); 
    boo.setLayoutParams(lp); 
} 
@Override 
public void onDraw(Canvas c) 
{ 
    boo.draw(c); 
} 

私は年齢のためにしようとしていると、このImageViewのキャンバスに自分自身を描画しない理由うまくできないのですか?

多くのおかげ

答えて

1

レイアウトとキャンバスは同じものではありません。レイアウトは「私のためにこれを描く」、キャンバスは「私はこれを描いている」。あなたの作業の例では、静的なイメージを取ってレイアウトに入れています。

0

ビューのもので、キャンバスを使用している異なっているので、使ってみてください:

canvas.drawBitmap(bg, src, dst, paint); 
関連する問題