2014-10-13 2 views
6

Ich habe Cordova App mit Cordova Version 3.6.3 und JQuery entwickelt. Das einzige Problem, das ich immer noch nicht die besten Lösungen bekommen kann, ist, wenn ich meine App auf Android 4.4 und höher testen und es gibt Benutzer, die die Schriftgröße bei Einstellung> Anzeige> Schriftgröße ihres Geräts gerne größer als normal ändern . Dies führt dazu, dass mein App-Layout hässlich aussieht (die beste Anzeige ist, wenn die Einstellung für die Schriftgröße nur normal ist). Aber es gibt keinen Effekt der Schriftgrößeneinstellung für Android älter als 4.4 (4.3.4.2 ...). So wird die App auf älteren Versionen perfekt angezeigt.Wie kann man Änderungen der Schriftgröße für die Cordova App ignorieren, wenn sie auf Android 4.4+ ausgeführt wird?

Die Lösungen, die ich auf meine App angewendet habe, erstellen das benutzerdefinierte Plug-in zur Erkennung der Konfiguration geändert und es erkennt, ob Benutzer Android 4.4+ verwendet und wenn sie Schriftgröße auf etwas einstellen, das nicht normal ist, I ' Verwenden Sie JQuery, um die Schriftgröße auf die angegebene Größe zu erhöhen.

Beispiel ist ....

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

Dies funktioniert gut, aber manchmal, nachdem die Seite geladen wird, funktioniert die CSS nicht ändert, wie ich will. Und angenommen, es gibt 30 divs + auf dieser Seite, so muss ich die Anweisung wie oben 30 mal einfügen und es dauert unnötig viel Zeit.

Ich möchte nur wissen, gibt es eine andere Möglichkeiten, um dieses Problem zu lösen, die einfacher ist als dieses Plugin verwenden? Vielleicht mit einigen XML-Konfiguration oder CSS3-Eigenschaften, die meine App ordnungsgemäß ohne Nebenwirkung von Schriftgröße Einstellung von Android 4.4 angezeigt werden kann?

andere Möglichkeiten, wie ich auch versucht, und es funktioniert sind nicht

  1. Einfügen fontScale auf AndroidManifest.xml> Aktivitäts-Tag
  2. Einfügen Webkit-text-size-adjust: none; in css

Ich würde gerne irgendwelche Ideen hören, die dazu beitragen, dies zu lösen.

+0

Wenn meine Antwort half, bitte wählen Sie es als Antwort aus ..So kann es anderen helfen. –

Antwort

0
  1. Wenn Ihr Plugin kann die Schriftart Skala kennen, ändern alle Ihre Schriftgrößen em und nur einmal $(document.body).css("font-size","70%"); verwenden.

  2. Haben Sie etwas dagegen, Ihr Plugin zu teilen?

3

Versuchen Sie dieses von Ihrem index.html zu entfernen:

ziel densitydpi = geräte dpi

Viel Glück.

6

Sie möchten also nur die Systemschriftarteneinstellungen ignorieren. Hier ist die Lösung, ich verwende MobileAccessibilty Plugin, um die Systemschriftarteinstellungen zu ignorieren.

Sie müssen nur folgende Code in Ihre onDeviceReady Funktion in index.js

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

usePreferredTextZoom (false) schreiben, wird die Systemschriftart Präferenzen einfach ignorieren. :) :) :)

+0

Irgendwelche Methoden oder Wege dazu, um nativ zu reagieren ?? – ROI

Verwandte Themen