У меня есть проблема, которую я не могу решить в последнее время.
У меня есть простое приложение для планшета, которое я запускаю на своем Samsung Galaxy Note 8.0. Я установил макет, чтобы разместить текстовое представление в каком-то месте. Я кодирую его в xml, используя dp для поля и sp для размера текста. Для макета ширины и высоты задано значение wrapcontent. Но когда я запускал его в моем друге Samsung Galaxy Tab 2 7.0, раскладка не соответствовала тому, что я вижу в своем устройстве. То же самое происходит, когда я пытаюсь запустить его в 10-дюймовом эмуляторе.
Я использую layout-sw600dp для моей папки макета.
Почему мой макет экрана такой? Хотя я использую layout-sw600dp, макет якобы настраивается сам. Или я ошибаюсь в этом?
Я прочитал документацию по Android, касающуюся поддержки различных размеров экрана, и до сих пор я обнаружил, что использование layout-sw600dp является хорошим решением.
Я проверил устройство dpi, используя:
Display display = getWindowManager().getDefaultDisplay();
DisplayMetrics outMetrics = new DisplayMetrics ();
display.getMetrics(outMetrics);
float density = getResources().getDisplayMetrics().density;
float dpHeight = outMetrics.heightPixels / density;
float dpWidth = outMetrics.widthPixels / density;