2014-10-13 10 views
6

Ho sviluppato Cordova App con Cordova versione 3.6.3 e JQuery. L'unico problema che non riesco ancora a ottenere le migliori soluzioni è quando provo la mia app su Android 4.4+ e ci sono utenti che amano cambiare la dimensione del carattere in impostazioni> display> dimensione del carattere del loro dispositivo per essere più grande del normale . Fa apparire brutto il layout della mia app (la migliore visualizzazione è quando l'impostazione della dimensione del font è normale). Ma non c'è alcun effetto dell'impostazione dimensione carattere per Android precedente alla 4.4 (4.3.4.2 ...) Quindi l'app si mostra perfettamente nella versione precedente.Come ignorare le modifiche alle impostazioni della dimensione dei caratteri per l'app Cordova quando viene eseguito su Android 4.4+?

Le soluzioni che ho applicato alla mia app sono la creazione del plug-in personalizzato per rilevare la configurazione modificata e verrà rilevato se l'utente utilizza Android 4.4+ e se impostano l'impostazione della dimensione del carattere su qualcosa che non è normale, I ' Userò JQuery per forzare la dimensione del carattere alla dimensione specificata.

esempio è ....

if (font_scale == huge) 
{ 
    $("div").css("font-size","20px !important"); 
} 

Questo funziona bene, ma a volte dopo che la pagina caricata, il css non lo fa modifiche come voglio. E supponiamo che ci siano 30 div + in quella pagina, quindi devo inserire la dichiarazione come sopra 30 volte e ci vuole troppo tempo inutilmente.

Voglio solo sapere, ci sono altri modi per risolvere questo problema che è più semplice rispetto all'utilizzo di questo plugin? Forse utilizzando alcune configurazioni XML o proprietà CSS3 che possono rendere la mia app visualizzata correttamente senza effetti collaterali dall'impostazione di dimensione carattere di Android 4.4?

Altri modi Ho anche provato e non ha opere sono

  1. inserendo fontScale su AndroidManifest.xml> tag attività
  2. inserimento webkit-text-size-adjust: none; in css

Mi piacerebbe sentire qualsiasi idea che aiuti a risolvere questo.

+0

Se la mia risposta ha aiutato per favore selezionalo come risposta ..Quindi può aiutare gli altri. –

risposta

0
  1. Se il plug-in permette di conoscere la scala dei caratteri, modificare tutte le dimensioni dei caratteri per em e utilizzare $(document.body).css("font-size","70%"); solo una volta.

  2. Ti dispiace condividere il tuo plug-in?

3

cercare di rimuovere questo dal index.html:

target-densitydpi = dispositivo-dpi

Buona fortuna.

6

Quindi, si desidera ignorare le preferenze di carattere del sistema. Ecco la soluzione, io uso MobileAccessibilty Plugin per ignorare le preferenze di carattere del sistema.

Non vi resta che scrivere codice seguente nella funzione onDeviceReady in index.js

if(window.MobileAccessibility){ 
    window.MobileAccessibility.usePreferredTextZoom(false); 
} 

usePreferredTextZoom (false) sarà solo ignorare le preferenze dei font di sistema. :) :) :)

+0

Qualsiasi metodo o modo per reagire nativo ?? – ROI

Problemi correlati