Hãy cập nhật tập tin ManiApplication.java
import android.view.WindowManager;
import android.content.res.Configuration;
import android.content.Context;
import android.util.DisplayMetrics;
Sau super.onCreate();
phương pháp đặt adjustFontScale(getApplicationContext(),getResources().getConfiguration());
Giống như theo
@Override
public void onCreate() {
super.onCreate();
adjustFontScale(getApplicationContext(),getResources().getConfiguration());
}
Và cuối cùng thêm chức năng sau
public void adjustFontScale(Context context, Configuration configuration) {
if (configuration.fontScale != 1) {
configuration.fontScale = 1;
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.fontScale * metrics.density;
context.getResources().updateConfiguration(configuration, metrics);
}
}
Nguồn
2017-06-09 08:33:57
Bạn đã cân nhắc đặt giá trị phông chữ dựa trên mật độ màn hình chưa? Trong kích thước văn bản Android được đặt bằng "sp" cho biết phông chữ sẽ tỷ lệ xuất hiện ở cùng kích thước vật lý trên màn hình có mật độ điểm ảnh cao hơn. Nếu bạn đã xác định thuộc tính "dimen" cho kích thước văn bản được đề cập, hãy tạo các tệp "dimens.xml" khác nhau cho từng mật độ màn hình (mdpi, hdpi, xhdpi, xxhdpi và xxxhdpi) và xác định kích thước phông chữ cho mỗi mật độ màn hình, có vẻ như điều đó sẽ hoàn thành những gì bạn đang tìm kiếm –
@JaceJMcPherson Tôi không chắc tôi hiểu. bạn có thể giải thích ở đâu trong RN bạn có thể đặt kích thước văn bản bằng 'sp' trên một phần tử Text không? –
Tôi cũng phải đối mặt với cùng một vấn đề. Hãy cho tôi biết nếu bạn có giải pháp. – Prasanna