我想沿着形状像大写Z
字母的路径写文字。
我写了以下代码。它沿着矩形绘制文本
我需要做些什么才能创建一个Z
形的路径并让文字跟随它?
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Display display = getWindowManager().getDefaultDisplay();
setContentView(new SampleView(this,display.getWidth(),display.getHeight()));
}
private static class SampleView extends View
{
int width;
int height;
public SampleView(Context context,int w,int h)
{
super(context);
width=w;
height=h;
}
@Override
protected void onDraw(Canvas canvas)
{
Path mypath = new Path();
mypath.addRect(width/2,height/2,width,height,Path.Direction.CCW);
// set the color and font size
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setTextSize(30);
paint.setAntiAlias(true);
// draw the text along the circle
canvas.drawTextOnPath("Hi This Is Sample String",mypath, 0, 30, paint);
}
}
}
答案 0 :(得分:2)
您必须使用画布对象。 使用FontMetrics,您可以计算文本周围的矩形,这有助于您在“路径”中更好地排列文本。
画布: http://developer.android.com/reference/android/graphics/Canvas.html
的FontMetrics: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/FontMetrics.html