Это приведет к изменению макета и изображений с xxhdpi на xxxhdpi.
Если у меня есть textView с фиксированным размером 16dp,
он был 16 * 3 пикселя xxhdpi и станет 16 * 4 пикселей в xxxhdpi.
Это делает мой макет (конечно, тексты из editTexts или textViews) намного больше, поскольку фактическая плотность устройство никогда не меняется, что Google (или производитель Samsung) предназначил для этой функции.
Но я не хочу, чтобы это происходило в моем приложении.
Я пытался это исправить, сделав это ;
Код: Выделить всё
Configuration configuration = activity.getResources().getConfiguration();
if (configuration.densityDpi != 430) {
configuration.densityDpi = 430;
}
DisplayMetrics metrics = activity.getResources().getDisplayMetrics();
WindowManager wm = (WindowManager) activity.getSystemService(activity.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
metrics.scaledDensity = configuration.densityDpi * metrics.density;
activity.getResources().updateConfiguration(configuration, metrics);
Но на самом деле плотность по умолчанию не будет равна 430 для всех устройств.
Как узнать плотность по умолчанию для устройства, на котором работает мое приложение?
Или есть ли конфигурация, позволяющая игнорировать эффект увеличения для моего приложения?
Подробнее здесь: https://stackoverflow.com/questions/522 ... by-default