需要在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

解决方案 »

  1.   

    4.0估计开启了硬件加速功能,drawTextOnPath函数不支持硬件加速。在Manifest文件中禁止硬件加速就可以了。    <application android:hardwareAccelerated="false"
      

  2.   

    我也遇到这个问题了,解决方法除了5楼的外,可以在view的构造函数里设置this.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 具体可以参考这里:http://blog.csdn.net/yanzi1225627/article/details/8583066