Автоматическое масштабирование экрана React Native (Android) с изменением глобального масштабированияJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Автоматическое масштабирование экрана React Native (Android) с изменением глобального масштабирования

Сообщение Anonymous »

Появляется проблема с масштабированием в React Native: после изменения глобального масштабирования экран приложения меняется.
Нормальное отображение —
Масштабированное отображение — p>
Настройка, которую я изменил —
Index.js —

import { AppRegistry, Text, LogBox, TextInput, NativeModules, Platform } from 'react-native';
import { PermissionNotification, getFCMToken } from './notification/permission';
import { name as appName } from './app.json';
import 'react-native-gesture-handler';
import App from './App';
PermissionNotification();
getFCMToken();
LogBox.ignoreLogs(['new NativeEventEmitter']);
LogBox.ignoreAllLogs();
Text.defaultProps = Text.defaultProps || {};
Text.defaultProps.allowFontScaling = false;
TextInput.defaultProps = TextInput.defaultProps || {};
TextInput.defaultProps.allowFontScaling = false;
if (Platform.OS === 'android') {
NativeModules.CustomScaling.updateDisplayMetrics();
NativeModules.CustomScaling.setDisplayScale();
NativeModules.CustomScaling.disableAutoZoom();
NativeModules.CustomScaling.disableZoom();
NativeModules.CustomScaling.disableZoomDiable();
NativeModules.CustomScaling.attachBaseContext();
}
AppRegistry.registerComponent(appName, () => App);


Я попробовал создать пользовательскую функцию и импортировать ее в свое собственное приложение React, но это не помогло
@ReactMethod
public void setDisplayScale() {
DisplayMetrics metrics = new DisplayMetrics();
WindowManager windowManager = (WindowManager) reactContext.getSystemService(Context.WINDOW_SERVICE);
windowManager.getDefaultDisplay().getMetrics(metrics);
// metrics.scaledDensity = DisplayMetrics.DENSITY_DEVICE_STABLE;
Set the desired density value.
metrics.scaledDensity = 1.0f;
metrics.density = 1.0f;
Configuration configuration = reactContext.getResources().getConfiguration();
configuration.densityDpi = DisplayMetrics.DENSITY_DEVICE_STABLE; // DisplayMetrics.DENSITY_DEFAULT;
reactContext.getResources().updateConfiguration(configuration, metrics);
}


Подробнее здесь: https://stackoverflow.com/questions/782 ... lobal-zoom
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»