我想在我的android應用程序中顯示具有圓形形狀的文本。我知道這是用custome textview完成的,但可以讓一些好友給我正確的代碼。我也附加了圖像的類型看我想要。如何在Android中使用TextView顯示圓形文本
回答
創建自定義視圖和重寫的onDraw。在onDraw中,創建一個路徑並使用drawTextOnPath。像這樣的東西。 textToDraw是你想要顯示的文本。油漆是你想要的任何油漆。
@Override onDraw(Canvas canvas){
Path path = new Path();
path.addCircle(x, y, 200, Path.Direction.CW);
canvas.drawTextOnPath(textToDraw, path, textX, textY, paint);
}
http://developer.android.com/training/custom-views/index.html http://developer.android.com/reference/android/graphics/Canvas.html#drawTextOnPath(java.lang.String, android.graphics.Path, float, float, android.graphics.Paint)
另外,對於多分辨率,使用底層繪圖的高度來計算半徑。 –
http://www.networketiquette.net/do_not_use_all_caps.htm現在,恢復,「不工作」是什麼意思? – Simon
我把這個鱈魚放在doDraw()中,但沒有在屏幕上顯示canvas.save(); \t \t Path path = new Path(); \t path.addCircle(-10,10,200,Path.Direction.CW); \t canvas.drawTextOnPath(「Hello」,path,-10,-10,null); \t super.onDraw(canvas); \t canvas.restore(); – yokees
你必須使用自定義視圖就像在你的onDraw方法實現:
Path path = new Path();
path.addCircle(x, y, radius, Path.Direction.CW);
myCanvas.drawTextOnPath(myText, path, offset, 0, myPaint);
什麼是x,y和路徑,在這裏偏移? –
試試下面的代碼..
onDraw(Canvas canvas){
Path path = new Path();
path.addArc(oval, startAngle, sweepAngle)
path.addArc(oval, 0, 180)
}
這可能工作...
你必須創建自己的對象的「查看」像這樣
public class YourView extends View {
private static final String YOUR_TEXT = "something cool";
private Path _arc;
private Paint _paintText;
public YourView(Context context) {
super(context);
_arc = new Path();
RectF oval = new RectF(50,100,200,250);;
_arc.addArc(oval, -180, 200);
_paintText = new Paint(Paint.ANTI_ALIAS_FLAG);
_paintText.setStyle(Paint.Style.FILL_AND_STROKE);
_paintText.setColor(Color.WHITE);
_paintText.setTextSize(20f);
}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawTextOnPath(YOUR_TEXT, _arc, 0, 20, _paintText);
invalidate();
}
}
,然後用它作爲你的TextView :)希望這有助於
你可以看看與捆綁的APIDemo源代碼SDK中的android SDK目錄。
的例子「圖形/文本對齊」(文件TextAlign.java)展示瞭如何沿着路徑顯示文本:
然後,您可以調整它來建立你的屏幕。
感謝您提供來自API示例的圖像。它節省了創建和運行項目的時間。 – AndroidGuy
https://github.com/appium/android-apidemos/blob/master/src/io/appium/android/apis/graphics/TextAlign.java – azurh
你可以試試這個測試和充分的工作代碼:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GraphicsView(this));}
static public class GraphicsView extends View {
private static final String QUOTE = "This is a curved text";
private Path circle;
private Paint cPaint;
private Paint tPaint;
public GraphicsView(Context context) {
super(context);
int color = Color.argb(127, 255, 0, 255);
circle = new Path();
circle.addCircle(230, 350, 150, Direction.CW);
cPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
cPaint.setStyle(Paint.Style.STROKE);
cPaint.setColor(Color.LTGRAY);
cPaint.setStrokeWidth(3);
setBackgroundResource(R.drawable.heart);
tPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
tPaint.setStyle(Paint.Style.FILL_AND_STROKE);
tPaint.setColor(Color.BLACK);
tPaint.setTextSize(50);}
@Override
protected void onDraw(Canvas canvas) {
canvas.drawTextOnPath(QUOTE, circle, 485, 20, tPaint);}
} }
輸出將是:
希望這有助於。
- 1. 如何在Android中使用textview顯示顛倒的文本?
- 2. android textview與橢圓形
- 3. 圓角逆形TextView Android
- 4. 如何在android textview中顯示口音文本?
- 5. 如何製作圓形TextView
- 6. TextView中如何顯示文本
- 7. 如何顯示在android中使用textview使用哪個函數?
- 8. TextView未在Android中使用addView顯示
- 9. 如何將文字放入圓形對象以在圓形中心顯示它?
- 10. android:如何在textview中顯示圖像
- 11. 如何在android textview中顯示\
- 12. 如何在android textview中顯示分數?
- 13. 如何顯示在TextView的Android中
- 14. 我如何在android中顯示圖像的圓形切片
- 15. 圓形按鈕和android中的textview
- 16. 如何在顯示文本的textview上使用延遲?
- 17. Android textView如何顯示全文?
- 18. Android TextView顯示文本作爲鏈接
- 19. Android:爲TextView顯示長文本
- 20. Android:動畫TextView有長文本顯示
- 21. 阿拉伯文+英文文本在android中顯示爲空TextView
- 22. 如何在Android中使用形狀文件顯示地圖?
- 23. 在textview中不顯示全文android
- 24. android在TextView中不顯示「」?
- 25. SKShapeNode圓不顯示圓形
- 26. 如何在Android中按下按鈕後在textView中顯示Radiobutton中的文本?
- 27. 在textview中顯示笑臉和在android中編輯文本
- 28. 如何在SDK中使用inflater顯示imageView和textView Android
- 29. 如何在android中使用sax解析器顯示動態textview?
- 30. 如何在textview中顯示.java文件?
看看http://stackoverflow.com/questions/10150642/draw-text-in-circular-view –
抱歉,但它顯示在cicle中的完整文本。 – yokees
您需要了解它並根據您的需要進行更改。 –