Aggiorna file di ManiApplication.java
import android.view.WindowManager;
import android.content.res.Configuration;
import android.content.Context;
import android.util.DisplayMetrics;
Dopo super.onCreate();
metodo messo adjustFontScale(getApplicationContext(),getResources().getConfiguration());
Come seguire
@Override
public void onCreate() {
super.onCreate();
adjustFontScale(getApplicationContext(),getResources().getConfiguration());
}
E alla fine aggiungere la seguente funzione
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);
}
}
fonte
2017-06-09 08:33:57
Hai considerato di impostare il valore del carattere in base alla densità dello schermo? Nella dimensione del testo di Android è impostato con "sp" che indica che il carattere deve essere ridimensionato in modo che appaia uguale alle dimensioni fisiche su schermi con densità di pixel più elevata. Se hai definito un attributo "dimen" per la dimensione del testo in questione, hai creato diversi file "dimens.xml" per ciascuna densità dello schermo (mdpi, hdpi, xhdpi, xxhdpi e xxxhdpi) e determinato quale dovrebbe essere la dimensione del carattere per ogni densità dello schermo, sembra che dovrebbe realizzare quello che stai cercando –
@JaceJMcPherson Non sono sicuro di aver capito. potresti spiegare dove in RN puoi impostare una dimensione del testo con 'sp' su un elemento di testo? –
Sto anche affrontando lo stesso problema. Gentilmente dimmi se hai trovato la soluzione. – Prasanna