2010-05-20 47 views
5

Tôi đang làm một AppWidget và trong cài đặt của nó, tôi cho phép người dùng bật/tắt bóng văn bản. Vì tôi không thể gọi phương thức shadow thông qua lớp RemoteViews, tôi đang thực hiện phương thức "vẽ" tự động vẽ widget và vùng chứa của nó.Hiển thị văn bản rõ nét bằng Canvas.drawText trong Android

Khi vẽ văn bản, nó bị mờ và không sắc nét như khi sử dụng TextView. Mã duy nhất tôi đã sử dụng cho bức tranh văn bản là:

Paint p = new Paint(); 
p.setAntiAlias(true); 
p.setColor(Color.WHITE); 

Có bất kỳ phép thuật nào khác mà tôi cần làm để nó trở nên sắc nét hơn không?

Trả lời

11
Paint paint = new Paint(Paint.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); 

đã làm các trick cho tôi

1

Đây là những thiết lập sơn văn bản của tôi:

textPaint = new Paint(); 
    textPaint.setStyle(Paint.Style.FILL); 
    textPaint.setAntiAlias(true); 
    textPaint.setARGB(255, 255, 255, 255); 
    textPaint.setFakeBoldText(true); 
    textPaint.setTextSize(textSize); 

vẻ khi được làm việc tốt cho tôi.

+1

Sơn sơn = mới Sơn (Paint.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG); đã làm các trick cho tôi – Tomas

+0

Cảm ơn bạn đã tip. Sẽ dùng thử và xem liệu văn bản của tôi có đẹp hơn không. :) – Abhinav

0

Các textsetAntiAlias(true)(Trong chế độ Hardware) chỉ hoạt động từ API 18 trở lên để sử dụng mã này để thiết lập kiểu layer của bạn.

int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
    if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB && currentapiVersion < android.os.Build.VERSION_CODES.JELLY_BEAN_MR2) { 
     this.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 
    } 
+1

Sai. https://developer.android.com/reference/android/graphics/Paint.html#setAntiAlias(boolean) Điều này đã ở trong sdk kể từ cấp API 1 – Tomas

+0

@Tomas Vui lòng kiểm tra câu trả lời đã chỉnh sửa của tôi. Như trong API 18, họ đã dừng tính năng AntiAlias ​​trong lớp phần mềm. –

+0

Ah, vâng. Để tham khảo trong tương lai: http://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported – Tomas

Các vấn đề liên quan