0
圓我想告訴在圈內的文字,所以我寫了這個代碼:文本中的Android
public class ArcTextView extends View {
private static final String QUOTE = "Cenral Line Is The Best Line";
private Path circle;
private Paint tPaint;
public ArcTextView(Context context) {
this(context, null);
}
public ArcTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
circle = new Path();
circle.addCircle(120, 120, 90, Path.Direction.CW);
tPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
tPaint.setStyle(Paint.Style.FILL_AND_STROKE);
tPaint.setColor(Color.WHITE);
tPaint.setTextSize(40);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawTextOnPath(QUOTE, circle, 0, 0, tPaint);
}
}
不過,也有2個問題:
- 我要開始顯示圈子頂部的文本,但無法完成。我試圖改變drawTextOnPath中的hOffset,但沒有成功。
- 如果過長,如何省略文本,您有什麼想法嗎?
已知問題:用DP替換固定值。
查詢1:變換/ 90度使用動畫旋轉圓。 – Krunal