Tôi muốn hiển thị văn bản với hình dạng tròn trong ứng dụng Android của tôi. Tôi biết nó được thực hiện với textview custome nhưng có thể một số buddy cho tôi mã thích hợp. Tôi cũng đính kèm hình ảnh nhìn tôi muốnLàm thế nào để hiển thị văn bản thông tư bằng cách sử dụng TextView trong Android
Trả lời
Bạn không cần phải thực hiện chế độ xem tùy chỉnh. Tìm đúng TypeFace
, đưa vào dự án của bạn và thiết lập để bạn TextView
Hoặc sử dụng microsoft nghệ thuật từ văn phòng và sao chép hình ảnh cho dự án
xin lỗi anh chàng này là không thể với khuôn mặt loại, Bởi vì loại mặt chỉ cung cấp cho bạn phong cách của văn bản không hình dạng vòng cung. – yokees
Xem thông tin cập nhật của tôi với hình ảnh – Yahor10
thân yêu tôi muốn thể hiện phong cách này trên thời gian chạy. Tôi cũng có thể sử dụng kiểu này với hình ảnh.Nhưng tôi không bao giờ muốn nó. – yokees
của bạn Tạo một giao diện tùy chỉnh và ghi đè lên OnDraw. Trong onDraw, tạo một đường dẫn và sử dụng drawTextOnPath. Một cái gì đó như thế này. textToDraw là văn bản bạn muốn hiển thị. Sơn là bất cứ loại sơn nào bạn muốn.
@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)
Ngoài ra, Đối với nhiều độ phân giải, sử dụng chiều cao có thể vẽ bên dưới để tính toán bán kính. –
http://www.networketiquette.net/do_not_use_all_caps.htm Bây giờ, để tiếp tục, "không hoạt động" có nghĩa là gì? – Simon
Tôi đặt cod này vào doDraw() nhưng không có gì hiển thị trong canvas.save(); \t \t Đường dẫn đường dẫn = Đường dẫn mới(); \t path.addCircle (-10, 10, 200, Path.Direction.CW); \t canvas.drawTextOnPath ("Xin chào", đường dẫn, -10, -10, null); \t super.onDraw (canvas); \t canvas.restore(); – yokees
Bạn phải thực hiện nó sử dụng xem tùy chỉnh như trong phương pháp OnDraw của bạn:
Path path = new Path();
path.addCircle(x, y, radius, Path.Direction.CW);
myCanvas.drawTextOnPath(myText, path, offset, 0, myPaint);
x, y và đường dẫn, bù đắp ở đây là gì? –
Hãy thử đoạn mã sau ..
onDraw(Canvas canvas){
Path path = new Path();
path.addArc(oval, startAngle, sweepAngle)
path.addArc(oval, 0, 180)
}
này có thể làm việc ....
Bạn phải tạo đối tượng của riêng bạn "View" như thế này
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();
}
}
và sau đó sử dụng nó như TextView của mình :) hy vọng sự giúp đỡ này
Bạn có thể có một cái nhìn vào mã nguồn APIDemo kèm với SDK Android trong thư mục SDK của bạn.
Ví dụ "Đồ họa/Tiêu Align" (tập tin TextAlign.java) cho thấy làm thế nào để hiển thị một văn bản dọc theo một đường dẫn:
Sau đó bạn có thể tinh chỉnh nó để xây dựng màn hình của bạn.
Cảm ơn bạn đã đưa hình ảnh từ các mẫu API. Nó giúp tiết kiệm thời gian tạo và chạy dự án. – AndroidGuy
https://github.com/appium/android-apidemos/blob/master/src/io/appium/android/apis/graphics/TextAlign.java – azurh
bạn có thể thử mã làm việc thử nghiệm và đầy đủ này:
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);}
} }
đầu ra sẽ là:
Hope trợ giúp này.
- 1. Hiển thị văn bản rõ nét bằng Canvas.drawText trong Android
- 2. Làm thế nào để hiển thị văn bản bằng cách sử dụng Quartz trên iPhone?
- 3. Android TextView trong BOLD và văn bản thông thường
- 4. Làm cách nào để đưa văn bản vào dòng tiếp theo trong Android TextView?
- 5. Làm thế nào để hiển thị hình nền trong chế độ xem văn bản
- 6. Hiển thị văn bản động trong chế độ xem Android
- 7. Chỉ báo tràn văn bản Android TextView?
- 8. Làm cách nào để hiển thị văn bản lộn ngược với chế độ xem văn bản trong Android?
- 9. Android - Làm thế nào để bạn tải một cách hiệu quả một lượng lớn văn bản trong một TextView?
- 10. Làm thế nào để hiển thị văn bản Bengali đúng
- 11. Hiển thị văn bản thuần túy trong ứng dụng Android
- 12. Làm thế nào để hiển thị văn bản được vector hóa bằng libgdx?
- 13. Android hiển thị văn bản khi ListView trống
- 14. Làm thế nào để hiển thị văn bản trong một dòng trong văn bản wpf
- 15. Làm thế nào để hiển thị nhiều dòng từ danh sách mảng trong TextView đơn?
- 16. Làm thế nào để đặt textview bằng cách sử dụng x, y vị trí
- 17. Cách hiển thị văn bản bằng FRACTIONALMETRICS trong Java 7
- 18. Làm cách nào để đặt văn bản của TextView?
- 19. làm thế nào để có được văn bản từ TextView
- 20. Làm thế nào để hiển thị sự khác biệt từ bằng cách sử dụng C#?
- 21. làm thế nào để thay đổi văn bản trong Android TextView
- 22. Văn bản Nút Android không tập trung khi sử dụng API 17 để hiển thị
- 23. Làm thế nào để làm mờ cạnh TextView trong Android?
- 24. Làm cách nào để căn giữa văn bản hai dòng trong một TextView trên Android?
- 25. Làm cách nào để căn chỉnh văn bản bên trong TextView trong Android?
- 26. Làm thế nào để ảnh hưởng linebreak trong Android TextView
- 27. Android - hiển thị văn bản ở giữa thanh tiến trình
- 28. Văn bản hiển thị văn bản một phần
- 29. Đặt màu văn bản Android TextView theo lập trình với setTextColor() hiển thị android: duplicateParentState không hợp lệ
- 30. Đếm và hiển thị số ký tự trong hộp văn bản bằng cách sử dụng Javascript
Hãy xem http://stackoverflow.com/questions/10150642/draw-text-in-circular-view –
xin lỗi nhưng văn bản hiển thị đầy đủ của nó trong một khung. – yokees
bạn cần phải hiểu nó và thay đổi nó theo nhu cầu của bạn. –