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 } 

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.

  • Android Studio Layout Größe Ordner
  • Skalenfaktor für xxhdpi android?
  • Über Android-Image und Asset-Größen
  • Holen Sie sich Textinhalt des Android-Bildschirms
  • Beschränkung der App in Tablets
  • Android kleinste Breite Layouts
  • So definieren Sie Zeichnungsordner für mehrere Bildschirmauflösungen (Konflikt zwischen Nexus 10 und Galaxy Tab 10)?
  • Unterstützung mehrerer Bildschirmgröße - Android
  • Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.