Nativescript блокирует размер шрифта, предотвращает масштабирование системы

Есть ли способ предотвратить масштабирование системы Android по размеру шрифта? Нашел одно машинописное решение, но не могу заставить его работать. Наверное, потому, что я недостаточно хорошо разбираюсь в машинописном тексте.


person Andrew Tkachuk    schedule 07.04.2020    source источник
comment
Вы можете установить размер шрифта в пикселях, может быть что-то вроде font-size: 12px в CSS не позволит фреймворку применять масштабированные пиксели.   -  person Manoj    schedule 07.04.2020
comment
@Manoj Ты уверен? По-прежнему масштабируется в пикселях и в точках на дюйм.   -  person Andrew Tkachuk    schedule 07.04.2020


Ответы (1)


Попробуйте это переопределить в [app | main]. [Js | ts],

import { layout } from "tns-core-modules/utils/utils";
import { fontSizeProperty, TextBase } from "tns-core-modules/ui/text-base";

TextBase.prototype[fontSizeProperty.setNative] = function (value) {
    if (!this.formattedText || (typeof value !== "number")) {
        if (typeof value === "number") {
            this.nativeTextViewProtected.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, layout.toDevicePixels(value));
        } else {
            this.nativeTextViewProtected.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, value.nativeSize);
        }
    }
};

Примечание. Возможно, вам придется сделать то же самое с TabView, HtmlView и т. д., если вы используете их в своем проекте и хотите отключить масштабирование. Вышеупомянутый заботится о ярлыке, кнопке и т. Д.,

Образец игровой площадки

person Manoj    schedule 07.04.2020