Khi cố gắng sửa đổi phông chữ của tiêu đề ActionBar
của tôi, tôi đặt một answer đề xuất điều chỉnh Typeface
qua một SpannableString
. Trong khi nó hoạt động như được ghi nhận trong câu trả lời, vị trí dường như đi chệch khỏi việc được căn giữa theo chiều dọc.Tại sao tiêu đề của tôi sử dụng phông chữ tùy chỉnh không được căn giữa theo chiều dọc trong ActionBar?
Tôi đã thử điều này với hai phông chữ khác nhau, cả hai OpenType (Roundhand) và TrueType (Billabong). Ngoài ra tôi đã thử điều này trên một thiết bị Gingerbread cũ hơn (nơi ảnh chụp màn hình từ) chạy 2.3.3 cũng như thông qua một thiết bị Jelly Bean mới hơn chạy 4.2. Dự án sử dụng ActionBarSherlock và do đó là thủ phạm lý thuyết cuối cùng của tôi. Tôi cũng đã điều chỉnh kích thước phông chữ với hy vọng nó tập trung một chút nhưng biết rằng điều này là không có gì hơn là một hack và không giải quyết vấn đề cuối cùng trong tầm tay.
Với điều đó, tại sao tiêu đề của tôi không được căn giữa sao cho phù hợp và tôi có thể sửa nó như thế nào? Nếu có một cách để điều chỉnh căn chỉnh cho mỗi giải pháp được triển khai được tham chiếu ở trên, điều đó chắc chắn sẽ đủ, ngay cả khi ActionBarSherlock là thủ phạm. Biết được thủ phạm là gì và tại sao điều này xảy ra tuy nhiên là một phần của câu trả lời, không chỉ cung cấp cách giải quyết.
UPDATE:
Ảnh chụp màn hình dưới đây cách sử dụng Hiển thị giới hạn bố trí. Xin lưu ý rằng để sử dụng Hiển thị giới hạn bố cục rằng thiết bị này rõ ràng đang chạy Jelly Bean trong khi ảnh chụp màn hình trước đó là từ thiết bị Gingerbread. Trong cả hai trường hợp, vấn đề là như nhau.
UPDATE:
Nếu tôi sử dụng Typeface.DEFAULT
khi tôi gọi setSpan
giới hạn và liên kết xuất hiện khi họ cần.
UPDATE:
Sau khi cố gắng một phông chữ thứ ba, dường như vấn đề này là trong thực tế gắn liền với phông chữ.
Bạn có thể bật "Hiển thị giới hạn bố cục" trong Tùy chọn nhà phát triển và đăng ảnh chụp màn hình không? – kcoppock
@kcoppock Ảnh chụp màn hình được thêm và có vẻ như được căn chỉnh theo chiều dọc. –
Điều đó có xảy ra nếu bạn chỉ sử dụng kiểu chữ mặc định (Typeface.DEFAULT) làm kiểu chữ của bạn? – kcoppock