it-swarm.com.de

Android-UI-Design: Unterstützung mehrerer Bildschirme

Ich habe dieses Tutorial SUPPORTING MULTIPLE SCREENS mehrmals gelesen und viele Stackoverflow-Fragen zu Design Android UIs to fit well with all Android screen sizes

Trotzdem ist es schwierig, für alle Bildschirmgrößen das gleiche und beste Benutzererlebnis zu bieten.

Wenn ich die Schnittstellen entwerfe, halte dabei immer das folgende Diagramm im Auge.enter image description here

Für den Moment in meiner App verwendet es die folgende Ordnerstruktur unter dem res-Ordner.

enter image description here

Ich habe auch dp und sp in den XML-Layoutdateien verwendet, um die Größen zu definieren. 

Kleine Bildschirmgrößen

Wenn es um kleine Bildschirmgrößen geht, bezieht es sich perfekt auf die unter layout-small definierten Benutzeroberflächen und wird ohne Probleme angezeigt. 

Normale Bildschirmgrößen

Bei der Gestaltung von Layouts für normale Bildschirmgrößen(layout folder) habe ich 3.5 inches-Android-Gerät und 3.7 inches-Emulator verwendet, um zu testen, wie die Benutzeroberfläche in normaler Bildschirmgröße aussieht. 

Meine Layouts sehen in dieser Größe also hervorragend aus, aber Samsung Gallaxy S3 (4.8 inches) und S4 (5.0 inches) haben etwas größere Bildschirme und beziehen sich immer noch auf die normalen Bildschirmgrößen. Daher haben diese großen Bildschirme einen erheblichen freien Platz von unten, und die Benutzeroberfläche sieht nicht schön aus.

In der Manifestdatei habe ich Folgendes definiert:

<uses-sdk
    Android:minSdkVersion="4"
    Android:targetSdkVersion="17" />

<supports-screens 
    Android:largeScreens="true" 
    Android:normalScreens="true" 
    Android:smallScreens="true" 
    Android:anyDensity="true" />

Ich habe kein Problem mit der Bilddichte (drawable-hdpi/drawable-xhdpi/drawable-mdpi/drawable-ldpi)

(1). Ich frage mich, was ich vermisse oder falsch mache, um auf diese Weise speziell in größeren Bildschirmen (4,8 Zoll) normale Layouts zu referenzieren.

(2). Auch wenn jemand Best Practices und die Standardmethode zum Definieren der Ordnerstruktur im Ordner Res so beschreiben kann, dass sie gut zu allen Bildschirmgrößen in Android passt, wäre dies dankbar, da dies so verwirrend ist. Vielen Dank. 

17
JibW

Anstelle der Größe der dp-Größe können Sie die Einheit der sdp-Größe verwenden, die relativ zur Bildschirmgröße ist.

Mit der Einheit für die SDP-Größe haben Sie auf allen Bildschirmgrößen die gleiche Benutzererfahrung mit nur einem Layout-XML.

Verwenden Sie es sorgfältig! Zum Beispiel müssen Sie in den meisten Fällen noch ein anderes Layout für Tablets entwerfen.

Für die Textansicht beziehen Sie sich bitte auf die Ssp-Größeneinheit (basierend auf der SP-Größeneinheit)

15

Sie können die folgenden Ressourcenordner verwenden, um Layouts für Geräte mit größeren Bildschirmen zu erstellen:

7-Zoll-Tabletten
res\layout-sw600dp

10-Zoll-Tabletten
res\layout-sw720dp 

3
Plato

Wenn es sehr wichtig ist, genau auf dieses Extrem hinzuweisen, gibt es ein praktisches Werkzeug für die Benennung von Ordnern, und dies ist das Verketten. Ex. layout-w480dp-normal und das wären Bildschirmgrößen mit mindestens 480dp Breite und fallen unter die Kategorie normal. Hinweis: Ich hatte nicht die Notwendigkeit, für solch detaillierte Anforderungen zu entwickeln, aber laut der verlinkten Quelle sollte es einwandfrei funktionieren.

Quelle

Stelle sicher, dass du diese Regeln befolgst

1
LuckyMe

Unterstützung für mehrere Bildschirme:

  1. Mobile: Erstellen Sie einen anderen Werteordner, der unten aufgeführt ist:

values                     (For mdpi devices)
values-hdpi                (For hdpi devices)
values-xhdpi               (For xhdpi devices)
values-xxhdpi              (For xxhdpi devices)

  1. Tablets: Erstellen Sie einen anderen Layoutordner, der unten aufgeführt ist:

layout-sw600dp             (For 7″ to 9″ Screen)
layout-sw720dp             (For 10″ to above screen)

Für Bildressourcen: 4 Zeichnungsordner erstellen:

drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi

1
arpit

Erstellen Sie verschiedene Layouts für verschiedene Bildschirme.

res/layout-large /

res/layout-sw600dp /

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

Finden Sie Design-Beispiele und -Tutorials für Android-Benutzeroberflächen: http://www.viralandroid.com/2015/11/Android-user-interface-ui-design-tutorial.html

0
Sajan Rana

Generalisierte Dichten.

A set of six generalized densities:
ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

Definieren Sie einfach einen Ordner für ein anderes Bild wie:

drawable-large-xhdpi: copy (drawable-xxhdpi images)
drawable-xlarge-xhdpi: copy (drawable-xxxhdpi images)
drawable-xxhdpi: 1080x1920 slicing
drawable-xxxhdpi : 1440x25601 slicing

Unterstützung für die Unterstützung mehrerer Bildschirme in Manifest hinzufügen.

 <supports-screens
        Android:anyDensity="true"
        Android:largeScreens="true"
        Android:normalScreens="true"
        Android:resizeable="true"
        Android:smallScreens="true"
        Android:xlargeScreens="true" />

 This works for me to support all tablets including Nexus 9,10, and all devices with different resolution and dencity

0
Amit