Я новичок.У меня проблема.Это пример использования canvas в представлении.
Предполагается, что круг и текст на нем должны быть видны.
(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>
Спасибо !!
Я допустил ошибку низкого уровня. Я изменяю cPaint = new Paint (Color.GRAY) на следующие две строки. Работает !!
cPaint = new Paint();
cPaint.setColor(Color.WHITE);
Спасибо вам всем тоже самое.