Làm cách nào để thay đổi phông chữ mặc định cho các phím bàn phím mà tôi đang viết bằng Android (Eclipse)?
Cảm ơn bạnLàm thế nào để thay đổi phông chữ bàn phím ảo?
Trả lời
Tôi tìm thấy một câu trả lời: Triển khai onDraw ...
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
try{
onBufferDraw();
}catch(Exception ex){
}
if (mBuffer!=null)
canvas.drawBitmap(mBuffer, 0, 0, null);
}
Có cách nào tốt hơn không? Cách tiếp cận này trông giống như quá nhiều công việc và liên quan đến việc sửa đổi rất nhiều vars/phương pháp riêng tư mà có thể dễ dàng phá vỡ trong các phiên bản Android trong tương lai. Cũng có thể đi qua tuyến đường của việc sử dụng hình ảnh thông qua "keyIcon" vì nó dường như là cách sạch hơn? –
@paul_sns Tôi ước có một cách tốt hơn nhưng bây giờ tôi đã quen với nó. Tôi đã không thấy quá nhiều thay đổi trong các phiên bản mới hơn. – Heidar
bạn có thể mở rộng câu trả lời không? Tôi hoàn toàn không hiểu cách onDraw sẽ giúp thay đổi phông chữ. – Raykud
Đó là một câu hỏi rất rộng. Tôi có thể cho bạn biết làm thế nào để thiết lập một Typeface khác nhau; cách bạn làm việc trong ứng dụng bàn phím tùy thuộc vào bạn.
Đặt một phông chữ (.ttf hoặc .otf) vào thư mục tài sản của bạn, và sử dụng đoạn mã sau (giả sử một phông chữ gọi là "myfont.ttf" và một TextView với id của "chìa khóa"):
Typeface myFont = Typeface.createFromAsset(getAssets(), "myfont.ttf");
TextView key = (TextView)findViewById(R.id.key);
key.setTypeface(myFont);
Lời nhắc: Đừng quên kiểm tra giấy phép cho phông chữ bạn đang sử dụng. Hầu hết không cho phép phân phối lại mà không được bồi thường. Một phông chữ được cấp phép tự do bạn có thể sử dụng là Bitstream Vera Sans.
Cảm ơn bạn đã phản hồi, nhưng tôi đang thay đổi mẫu SoftKeyboard và tôi không có bất kỳ TextView nào để đặt Typeface cho nó. Tôi chỉ có một InputMethodService, một bàn phím, một Key và một KeyboardView. – Heidar
Thú vị. Vâng, nhìn vào nó nhiều hơn, tôi không * thấy * một cách để sửa đổi nó. Tuy nhiên, các ứng dụng như SwiftKey có kiểu chữ khác nhau cho khóa của chúng, do đó, có thể. Thật không may tôi không có câu trả lời tốt hơn cho bạn. – kcoppock
Một giải pháp là đặt một hình ảnh cho mỗi khóa, nhưng nó tốn thời gian. Cảm ơn bạn anyway và xin vui lòng cho tôi biết nếu bạn tìm thấy bất cứ điều gì. – Heidar
Một giải pháp là sử dụng keboardView.java thay vì android.inputmethodservice.KeyboardView
.
Bạn cũng cần thay đổi paint.setTypeface(Typeface.DEFAULT_BOLD)
thành paint.setTypeface(my font)
và bạn phải thêm attrs.xml vào dự án của mình.
nếu bạn đang nghĩ để thay đổi kiểu chữ của Android tùy chỉnh các phím bàn phím kiểu phông chữ với một kiểu font .ttf bên ngoài sau đó bạn có thể kiểm tra câu trả lời của tôi tại một liên kết answer to change the font style of key label of android custom keyboard and also to change the font style throughout the android application
câu trả lời này được xác nhận qua sự cá nhân tôi rất bạn có thể tin tưởng và kiểm tra điều này.
Bạn đang tìm kiếm một chủ đề bàn phím? – Robert