Có một người dùng có thể truy cập kích thước phông chữ?


7

Tôi muốn thay đổi kích thước phông chữ trong toàn bộ hệ điều hành, không chỉ trong một ứng dụng hoặc trên một màn hình. Có cách nào để làm việc này không?

Tìm kiếm trên internet cho thấy ai đó nói rằng ứng dụng Phụ tùng trên Thị trường có thể làm điều này, nhưng điều đó không chính xác. Tùy chọn kích thước phông chữ của nó chỉ ảnh hưởng đến chính ứng dụng.

Tài liệu dành cho nhà phát triển dường như ngụ ý có một ưu tiên kích thước phông chữ của người dùng. Từ http://developer.android.com/intl/fr/guide/topics/resource/more-resource.html :

sp Pixels độc lập với quy mô - đây giống như đơn vị dp, nhưng nó cũng được thu nhỏ theo sở thích kích thước phông chữ của người dùng.

Nhưng nó không nói bất cứ điều gì về cách người dùng có nghĩa vụ phải thiết lập điều này. Tôi không thấy nó trong cài đặt trên điện thoại tôi có.

Câu trả lời:


1

Hiện tại đã có một cài đặt cho điều này, mặc dù tôi không chắc nó có trong kho Android hay không và nó có sẵn phiên bản nào. Nó chắc chắn đã có trong ROM Gingerbread và ICS của Sony (Xperia Neo V) và Cyanogenmod 9/10.

Trong Cyanogenmod 9+, nó nằm trong menu con "Hệ thống" bên dưới chú thích "Giao diện".


1
Tôi biết ICS của HTC cũng có một tùy chọn cho Cỡ chữ, trong Cài đặt rồi Hiển thị. Yay cho sự tiến bộ.
Lance Nanek

3

Hãy xem " Cỡ chữ (cho người dùng root) " trên thị trường. Nó có giá $ 1,36 và chỉ hoạt động với điện thoại đã root nhưng nó tuyên bố:

"phóng to / giảm kích thước văn bản trên toàn cầu trong tất cả các ứng dụng (Email, SMS, Bản đồ, Trang chủ, Thời tiết, Lịch, Widget, ...)"

Các đánh giá không tốt lắm nhưng nó đáng để thử.


2

Một tùy chọn khác (rất hạn chế, vì liên quan đến những thay đổi trong nền tảng) là thay đổi

./frameworks/base/core/java/android/content/res/Configuration.java

tập tin.

Ở đó bạn phải:

-Tạo một cặp setter / getter để có được giá trị phông chữ

-Thay đổi điểm mà tệp có được giá trị. Tôi đã thay đổi phương pháp

public void setToDefaults(){
  //I set the class member to the desired value trough my getter ( getFontScale )
  fontScale= this.getFontScale();
  ...
  ...
}

-Initialize thành viên lớp đến giá trị được lưu trữ:

   //This is the class member ( previouslly not initialized. Now i set it´s value trough my getter )
   public float fontScale= this.getFontScale();

Bằng cách này, mọi ứng dụng ban đầu sẽ có phông chữ của nó được xử lý theo giá trị được lưu trữ.

ps: Bạn cũng nên tạo một giao diện trong apk Cài đặt Android, nếu không, phông chữ của bạn sẽ chỉ bắt đầu bằng một giá trị cố định.

Tôi có thể cung cấp thêm chi tiết nếu cần.


1

Các phụ tùng Ngoài ra ứng dụng (miễn phí) làm việc trên máy tính bảng Honeycomb của tôi (Asus Transformer) trên tất cả các ứng dụng.

Tuy nhiên, như được lưu ý trong câu hỏi của bạn, nó chỉ hoạt động nếu nhà phát triển đã sử dụng một kỹ thuật cụ thể để chỉ định kích thước phông chữ trong ứng dụng của họ. Các kích thước cần được chỉ định trong các đơn vị "sp" để kỹ thuật này có hiệu quả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.