需要在path上写一段文字,path能够显示,文字出不来,怎么回事呢public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addContentView(new mytext(this), new LayoutParams(600, 800));
} private static class mytext extends View {
private Paint paint;
private Path paths ; public mytext(Context context) {
super(context);
paint = new Paint();
paint.setColor(Color.RED);
paint.setAntiAlias(true);
paint.setTextAlign(Paint.Align.RIGHT);// 设置从右变开始写字
paint.setTextSize(20);
paths = new Path();
paths.moveTo(0, 0);
for (int i = 0; i < 15; i++) {// 一条线的路径
paths.lineTo(i * 30, (float) Math.random() * 60);
}
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
canvas.translate(0, 20);
canvas.drawPath(paths, paint);
canvas.drawTextOnPath("dgjdghjdghj", paths, 0, 20, paint);
}
}编译版本是4.0,手机系统版本是4.0.3,求指教,另外,如何实现以下功能:
当文字长度小于path长度时重复显示文字,直到文字充满path
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addContentView(new mytext(this), new LayoutParams(600, 800));
} private static class mytext extends View {
private Paint paint;
private Path paths ; public mytext(Context context) {
super(context);
paint = new Paint();
paint.setColor(Color.RED);
paint.setAntiAlias(true);
paint.setTextAlign(Paint.Align.RIGHT);// 设置从右变开始写字
paint.setTextSize(20);
paths = new Path();
paths.moveTo(0, 0);
for (int i = 0; i < 15; i++) {// 一条线的路径
paths.lineTo(i * 30, (float) Math.random() * 60);
}
}
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
canvas.drawColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
canvas.translate(0, 20);
canvas.drawPath(paths, paint);
canvas.drawTextOnPath("dgjdghjdghj", paths, 0, 20, paint);
}
}编译版本是4.0,手机系统版本是4.0.3,求指教,另外,如何实现以下功能:
当文字长度小于path长度时重复显示文字,直到文字充满path
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货