Was ist die kleinste Bildschirmbreite in Android?

Ich versuche, einige Bilder auf der Grundlage der kleinsten Breite Attribut zu laden. Um dies zu tun, stelle ich die Bilder in die folgenden Ordner:

drawable-sw320dp drawable-sw360dp drawable-sw480dp drawable-sw600dp drawable-sw720dp 

Aber ich frage mich, was die kleinste Größe sein sollte, um Abstürze zur Laufzeit zu vermeiden. Was passiert, wenn ein Gerät (falls vorhanden) mit der kleinsten Breite 240 läuft meine App (es stimmt wahrscheinlich zur Laufzeit)? Kann ich einen Ordner namens

 drawable-sw0dp 

Und legen Sie einige Bilder in sie, so dass, wenn kleinste Breite Attribut zwischen 0 und 320 ist, werden diese Bilder geladen?

Ich kann das programmatisch wie das folgende tun, aber ich frage mich, ob ich das tun kann, ohne irgendeinen Code schreiben zu müssen.

 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int widthPixels = metrics.widthPixels; int heightPixels = metrics.heightPixels; float scaleFactor = metrics.density; float widthDp = widthPixels / scaleFactor; float heightDp = heightPixels / scaleFactor; float smallestWidth = Math.min(widthDp, heightDp); if (smallestWidth < 320) { //Load necessary images } else if (smallestWidth >= 320 && smallestWidth < 360) { //Load necessary images }else if (smallestWidth >= 360 && smallestWidth < 480) { //Load necessary images }else if (smallestWidth >= 480 && smallestWidth < 600) { //Load necessary images }else if (smallestWidth >= 720) { //Load necessary images } 

  • Nexus 6 und Nexus 9 Bildschirmdichte
  • So definieren Sie Zeichnungsordner für mehrere Bildschirmauflösungen (Konflikt zwischen Nexus 10 und Galaxy Tab 10)?
  • Android-Ressourcen-Auswahl-Layout- und Werte-Inkonsistenzen
  • Wo ist android.max_aspect meta unterscheiden
  • Ziehbare Größen für verschiedene Bildschirmgrößen in android
  • Wie definiere ich dimens.xml für jede andere Bildschirmgröße in Android?
  • Android verarbeitet mehrere Bildschirme ... (Relatives Layout oder Linear Layout)?
  • Zeichenkarten werden immer aus dem Ordner mdpi gelesen, unabhängig von der Bildschirmgröße
  • 4 Solutions collect form web for “Was ist die kleinste Bildschirmbreite in Android?”

    Sie sollten die Bilder auf der Basis von Bildschirmdichten kategorisieren. Nicht auf der Basis der Bildschirmbreite.

    Es gibt nur wenige Arten von Bildschirmdichten: –

    Ldpi ~ 120dpi

    Mdpi ~ 160dpi

    Hdpi ~ 240dpi

    Xhdpi ~ 320dpi

    Xxhdpi ~ 480dpi

    Xxxhdpi ~ 640 dpi

    Jedes Gerät wird nur zwischen ihnen kategorisiert.

    Ihre Ordner sind wie: –

    Ziehbar-ldpi

    Drawable-mdpi

    Ziehbar-hdpi

    Drawable-xhdpi

    Drawable-xxhdpi

    Ziehbar-xxxhdpi

    Bilder für kleinste Bildschirmdichten in ldpi. Bilder für die größten Bildschirmdichten in xxxhdpi.

    Andere Dinge werden von Android selbst verwaltet. Es wird das richtige Bild abhängig von der Bildschirmdichte geladen

    Denken Sie immer daran, dass mdpi die Basislinie ist. Das ist 1: 1 Verhältnis, bedeutet in mdpi, 1 px = 1dp.

    Sie müssen Ihre anderen Bilddateien in Ihren Zeichnungsordner setzen. Keine Notwendigkeit, sw0dp Ordner zu erstellen, wird es ignoriert werden.

    Ich erkannte, dass drawable-sw320dp Ordner nutzlos ist. Ich stelle Bilder sowohl in ziehbare und ziehbare-sw320dp Ordner und führen Sie es auf einem Gerät mit kleinsten Breite 320 dp. Das System lädt die Bilder aus Zeichnungsordner, nicht zeichen-sw320dp Ordner. Also, es sieht aus wie 320dp ist die kleinstmögliche Breite in Android, und Sie müssen Bilder in ziehbare Ordner für diese Arten von Geräten setzen.

    drawable-sw0dp ist ein gültiger drawable-sw0dp für Android-Ressourcen, also ja, du kannst deine Ressourcen dort einrichten und sie werden nach den offiziellen Dokumentationen über die gleichnamigen Ressourcen im gleichnamigen Ordner bevorzugt. Da alle Android-Geräte eine kleinste Breite haben, die gleich oder größer als 0 ist, schließt der sw0dp Selektor keine davon aus.

    Also, warum den drawable-sw0dp Ordner verwenden, und warum nicht einfach die drawable ? Angenommen, Sie haben ein Smartphone und Tablet-Projekt mit einigen Ressourcen gemeinsam und einige nicht. Sie können alle gängigen Ressourcen in den drawable und alle "spezifischen" Ressourcen in den drawable-sw0dp (für Smartphones) und drawable-sw600dp (für Tabletten) Ordner setzen. Auf diese Weise können Sie leicht überprüfen, ob diese beiden Ordner die gleiche Anzahl von Dateien und mit den gleichen Namen enthalten und deutlich sehen, welche Ressourcen "universal" sind und welche nicht.

    Abschließend ist es nur eine Frage der Lesbarkeit. Alles wird genau so funktionieren, wenn man alle "universellen" und smartphone Ressourcen in den drawable Ordner und die Tabletten im drawable-sw600dp Ordner (das ist der intuitivere Ansatz), also ist es wirklich bis zu dir.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.