Wie kann ich wissen, welches Telefon das Layout unterstützt (hdpi, mdpi und xhpi)?

Ich bin ein wenig verwirrt darüber, wie zu bestimmen, welche Telefone welche Layout-Typen unterstützen. Ich habe einige Recherchen gemacht, aber keine befriedigende Antwort gefunden.

Zum Beispiel habe ich die folgende Anleitung gefunden:

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

Allerdings habe ich noch Bedenken:

  1. Samsung Grand (480 * 800) und HTC Wildfeuer S (320 * 480) beide unterstützen MDPI. Diese Bildschirme haben sehr unterschiedliche Auflösungen, haben aber den gleichen Layouttyp?

  2. Galaxy Note 2 (1280 * 720) Unterstützung HDPI. Wenn HD (720p) nur HDPI ist, wann welches Gerät / Auflösung XHDPI unterstützt?

  3. Ich habe hier schon eine Frage gestellt: Wie setze ich das Layout auf 7 "zwei verschiedene Tabletten?

  4. Meine wichtigste Frage ist jedoch: Wie kann ich wissen, welche Geräte oder Bildschirmauflösungen jeden Layouttyp unterstützen?

  • Verpacken von Android-Ressourcendateien in einer verteilbaren JAR-Datei
  • Hinzufügen von Verzeichnissen zu Ressourcenordnern in Android
  • In einer Android-App, wann sind Ressourcen in den Speicher geladen?
  • Einfachste Art zu wissen (programmgesteuert) welche Ressourcen-Ordner verwendet wird, basierend auf Bildschirmdichte / Größe
  • Wie kann ich einen Parameter in eine lokalisierte Zeichenfolge in Android?
  • Android Styles: Unterschied zwischen 'style = "@ android: style / XYZ" und "style ="? Android: attr / XYZ "'?
  • Wie bekomme ich eine Ressource-ID mit einem bekannten Ressource-Namen?
  • Wie man einen String in strings.xml einer Android-Bibliothek im Code verweist?
  • 2 Solutions collect form web for “Wie kann ich wissen, welches Telefon das Layout unterstützt (hdpi, mdpi und xhpi)?”

    Android behandelt mdpi (160 Pixel / inch) als Basisdichte . Also für mdpi Geräte , 1 dp = 1 Pixel . Bei höheren Dichten gibt es mehr Pixel pro Zoll (240 für hdpi, 320 für xhdpi).

    AutoMatic Skalierung von Android selbst:

    Android-Versuche, grafische Bilder zu machen, belegen die gleichen physischen Dimensionen auf dem Bildschirm, unabhängig von der Pixeldichte des Geräts. Also, wenn alles, was es findet, ist eine mdpi-Ressource, und das Gerät ist hdpi, es wird die Grafik um 240/160 = 150% skalieren, und es wird die Größe der Grafik für xhdpi verdoppeln.

    Mit verschiedenen Grafikvarianten:

    Wenn Sie nicht möchten, dass diese automatische Skalierung (die Grafik grafisch aussehen lassen kann), können Sie einfach Ihre eigene Version von Grafik-Ressourcen für den Einsatz bei höheren Dichten. Diese Grafiken sollten von der gleichen Größe sein, dass Android eine mdpi-Ressource skalieren würde.

    Anmerkung: Die Pixel / Zoll, die in der Bilddatei gespeichert wurden, hat nichts damit zu tun. Es ist alles auf, wo Sie die Grafik-Dateien in das Ressourcen-Verzeichnis für Ihr Projekt. Alle Grafiken, die in res / drawable platziert werden, werden für mdpi-Anzeigen als ordnungsgemäß dimensioniert, ebenso wie Grafiken, die in res / drawable-mdpi platziert sind. Bilddateien, die es in res / drawable-hdpi findet, werden als ordnungsgemäß für hdpi-Anzeigen usw. angenommen. Wenn Ihr Programm auf einem bestimmten Gerät läuft, sucht Android zuerst nach einer Grafik, die der Anzeigedichte dieses Geräts entspricht. Wenn es nicht findet, aber stattdessen findet man eine für eine andere Dichte, wird es das verwenden und automatisch skalieren das Bild auf der Grundlage der oben genannten Regeln.

    Wie die ldpi, mdpi und hdpi beziehen sich auf Bildschirmdichte , was bedeutet, wie viel Pixel in einen einzigen Zoll passen kann .

    Das Verhältnis in den Pixeln zwischen ihnen ist:

     ldpi = 1:0.75 mdpi = 1:1 hdpi = 1:1.5 xhdpi = 1:2 xxhdpi = 1:3 

    So lasst man ein Bild mit etwa der Größe von 100X100 :

     for mdpi it should be 100X100 for ldpi it should be 75X75 for hdpi it should be 150X150 for xhdpi it should be 200X200 for xxhdpi it should be 300X300 

    Auf diese Weise, für Bildschirme mit der gleichen Größe, aber verschiedene DPI, alle Bilder scheinen die gleiche Größe auf dem Bildschirm.

    Schauen Sie sich diese Details an: android verwaltet das alles für sich selbst. Sie müssen nur Layouts und Bilder in relativen Ordnern angeben

     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 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 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.