私は初心者です。私は問題がある。 これは、ビュー上のキャンバスの例です。ビューにキャンバスを描画しますが、何も塗られていません。
円とその上のテキストが表示されるはずです。
(http://goo.gl/6ZPvQ)私の評判は、写真を撮るには不十分です。
しかし、何も起こらなかった。
これは私がキャンバスを描くビューです。
public class TestCanvasActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new MyGraphics(this));
}
}
class MyGraphics extends View {
private Paint cPaint,tPaint;
private Path circle;
private String text;
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
cPaint = new Paint(Color.GRAY);
tPaint = new Paint(Color.BLACK);
circle = new Path();
text = "Welcome to Android!!";
circle.addCircle(150, 150, 100, Direction.CW);
canvas.drawPath(circle, cPaint);
canvas.drawTextOnPath(text, circle, 0, 20, tPaint);
}
public MyGraphics(Context context) {
super(context);
// TODO Auto-generated constructor stub
setBackgroundColor(R.drawable.background);
}
}
これは背景画像コードです。
background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="#FFFFFF"
android:endColor="#808080"
android:angle="270" />
</shape>
ありがとうございました!!
I低レベルの間違いをしました。 cPaint = new Paint(Color.GRAY)を次の2行に変更します。できます!!
cPaint = new Paint();
cPaint.setColor(Color.WHITE);
ありがとうございました。
...以下の通りですビューを更新します。 – Jakar
あなたは正しいです!しかし、クラスViewからMyGraphicsを継承します。ビットマップ自体にキャンバスを描きます!! – Sam
よろしいですか?私はそれで少し経験があるので、私は確信していませんでした。 – Jakar