Размеры экрана Android

Мне нужно знать размеры экрана android устройств для поддержки нескольких размеров экрана приложения.

8 ответов


Я не думаю, что есть полный список всех существующих размеров экрана, так как новые устройства выходят все время. Вы видели страницу на размеры и плотность экрана и документация на Поддержка Нескольких Экранов?


посмотрите на эту таблицу:http://developer.android.com/guide/practices/screens_support.html#testing

вы можете использовать круговую диаграмму здесь, чтобы иметь представление об использовании относительного размера экрана:http://developer.android.com/resources/dashboard/screens.html

для списка размеров экрана, разрешений и значений dpi, взгляните на:http://en.wikipedia.org/wiki/List_of_displays_by_pixel_density

для расчета реальное значение dpi, проверьте здесь:http://en.wikipedia.org/wiki/Pixel_density#Calculation_of_monitor_PPI


различные размеры экрана таковы.

xlarge screens are at least 720dp 960dp
large screens are at least 480dp x 640dp
normal screens are at least 320dp x 470dp
small screens are at least 320dp x 426dp

Если вы планируете сделать приложение, которое поддерживает несколько устройств, также вам нужно создать разные каталоги макетов для разных макетов.

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation

Если вы планируете добавить различные размеры изображений, поместите их в следующие папки соответственно. Android OS будет автоматически принимать наиболее подходящее изображение из них.

res/drawable-ldpi/my_icon.png        // bitmap for low density
res/drawable-mdpi/my_icon.png        // bitmap for medium density
res/drawable-hdpi/my_icon.png        // bitmap for high density
res/drawable-xhdpi/my_icon.png       // bitmap for extra high density

enter image description here


Android поддерживает множество размеров экрана. Нет списка конкретных размеров экрана. Только приблизительные диапазоны. Подробнее в "Поддержка Нескольких Экранов".



с точки зрения поддержки различных размеров экрана я бы начал, взглянув на Справка Поддержки Экрана, возможно, удастся решить вашу проблему лучше. Чтобы увидеть список конкретных размеров, взгляните на Таблица 2


вот оно!

  • (240, 320)
  • (240, 400)
  • (320, 480)
  • (360, 640)
  • (480, 640)
  • (480, 800)
  • (480, 854)
  • (540, 960)
  • (600, 800)
  • (600, 1024)
  • (640, 960)
  • (720, 1280)
  • (768, 1280)
  • (768, 1024)
  • (800, 1280)
  • (1080, 1920)
  • (1200, 1920)
  • (1600, 2560)

свежий из http://en.wikipedia.org/wiki/Comparison_of_Android_devices html-источники проанализированы с помощью:

import re

s = ""

with open("sizes.html", "r") as src:
    s = src.read()

res = re.findall('([0-9]+)\s*[×xX]\s*([0-9]+)', s)

sizes = set()

for match in res:
    size_int = [int(match[0]), int(match[1])]
    size = (min(size_int), max(size_int))
    if size not in sizes:
        sizes.add(size)

sorted_sizes = list(sizes)
sorted_sizes.sort(key=lambda sz: sz[0])

for sz in sorted_sizes:
    print(sz)

(прости моего питона)


вот небольшая функция, чтобы узнать размер дюйма вашего устройства в случае, если вам это нужно для поддержки многоразмерного экрана:

public double getInchSize()
{
    DisplayMetrics metrics = getResources().getDisplayMetrics();
    return Math.hypot(metrics.widthPixels/metrics.xdpi, metrics.heightPixels/metrics.ydpi)
}

надеюсь, что это может помочь