Da wir wissen, dass Android mit verschiedenen Geräten mit unterschiedlichen Funktionen, Auflösungen und Bildschirmgrößen geliefert wird, gibt es bei der Entwicklung einer Anwendung, die mehrere (kleine und große) Bildschirme unterstützt, ein Hindernis für Größe und Layout.
Dies führt zu unterschiedlichen Kombinationen von Bildschirmgrößen, Auflösungen und DPIs und stellt eine ziemliche Herausforderung beim Entwerfen und Entwickeln für Android-Geräte dar. Während einige andere Hersteller (nicht Android) unterschiedliche Auflösungen und DPI haben, haben sie dieselbe Bildschirmgröße und die Auflösungen folgen demselben Seitenverhältnis. Daher kann ein Bild erstellt werden, das auf Geräte ohne Android passt.
Meine Frage ist, ob es einen richtigen Ablauf oder eine Architektur gibt, der man folgen sollte, um die Anforderung zu erfüllen.
Denken Sie daran, dass wir Tablets mit unterschiedlicher Größe und Auflösung haben.
Mir ist bekannt, dass Android Developer diese Informationen enthält, aber meine Ansicht stammt von der Implementierung.
Nach meinem Wissen habe ich verstanden, dass zum Programmieren von Android-Grafiken sogar Programmierer das Designkonzept kennen müssen.
quelle
MicroMax Funbook
gsmarena.com/micromax_funbook_p300-4701.php Kannst7", 480X800, Ldpi (133 dpi)
du mir sagen, in welche Kategorie (Drawble-Large oder Ldpi oder wenn Android v3.0 sw-480) es fallen wird?Antworten:
Schließlich wurde eine Struktur erstellt, die Layouts und Symbole für mehrere Bildschirme verarbeitet.
Android verallgemeinert Geräteanzeigen anhand von zwei Parametern in Kategorien:
Um die Bildschirmgröße und -dichte schnell zu bestimmen, installieren Sie bitte die App " What's my Size " für Android.
Bildschirmgröße
Android definiert vier allgemeine Bildschirmgrößen:
Android definiert vier allgemeine Bildschirmdichten:
Typischerweise:
Es wird aufgeführt hier die prozentuale Differenz des Gerätebildschirm
Aber da wir jetzt wissen, dass die meisten Geräte mit 480X800 geliefert werden , betrachte ich dies als basiertes Gerät, daher wird unsere neue Berechnung dies mögen
Dies bedeutet, dass das erste Symbol und Design zuerst für 480X800 und dann für die übrigen (dh Ldpi, Mdpi, Xhdpi) erstellt werden.
Es gibt Bilder, die für alle Layouts gleich sind und in Farbe und Form einheitlich sein müssen (keine komplexe Form, keine Kurve). Für diese Art von Bild erstellen wir sie,
9patch
die in den Ordner „Zeichenbar (ohne Suffix)“ gelegt werden sollen. Um ein 9Patch-Bild zu erstellen, können Sie entweder DrawNinePatch oder BetterNinePatch verwendenBenennen Sie Ihre Bilder jetzt einfach nach den Standards von Android um und vervollständigen Sie Ihre Anwendung mit
hdpi
und nehmen Sie dann dendrawable-hdpi
Ordner und öffnen Sie Adode Photoshop (empfohlen). Erstellen Sie eine Aktion mit mehreren Größen (ändern Sie einfach die Größe entsprechend dem prozentualen Verhältnis), sobald die Aktion für alle Größen erstellt wurde, und führen Sie sie dann aus Batch Automatisieren und geben Sie Quelle (drawable-hdpi) und Ziel (drawable-ldpi, drawable-mdpi, drawable-xdpi) an.Der Grund, warum ich darauf bestehe, dass Sie Photoshop verwenden, da die Größe Ihres Bildes automatisch mit Aktionen geändert wird und ein weiterer Pluspunkt darin besteht, dass Sie die Datei nicht umbenennen müssen (sie weist denselben Namen wie die ursprüngliche zu).
Wenn Sie alle Bilder erstellt haben, aktualisieren Sie Ihr Projekt und testen Sie es.
Manchmal besteht die Möglichkeit, dass das Layout, das den Bildschirm (xhdpi, hdpi, mdpi) unterstützt, in einen kleinen Bildschirm (ldpi) geschnitten wird. Um dies zu handhaben, erstellen Sie einfach einen separaten Layoutordner (layout-small) und fügen Sie ihn hinzu
ScrollView
(meistens). Das ist es.Tablet Tablets werden in zwei Größen eingeteilt.
In diesem Fall müssen wir ein Bild für beide Bildschirme erstellen und sie einfach entsprechend platzieren
Alles in allem haben wir diesen Ordner in unserer Anwendung, um mehrere Bildschirme zu unterstützen.
wird mehr Qualifikation Kombination mit
Screen size and Screen density
mehr Qualifikation mit
Screen density and Version
und mehr Qualifikation mit
Screen size and Version
und mehr Qualifikation mit
Smallest width concept(SW)
Darüber hinaus haben sie in Android V3.0 Honeycomb ein neues Konzept eingeführt,
SW(smallest width)
bei dem Geräte nach Bildschirmbreite kategorisiert werden. Wenn wir also einen Ordner mit dem Namen erstellen, verwendetdrawable-sw360dp
das Gerät mit 720 dp (entweder Breite oder Höhe) Ressourcen aus diesem Ordner.zum Beispiel den finden
Samsung Galaxy S3
dp zu Suffix ziehbar-sw? dpMit Bezug von DP Berechnung , Wenn Sie Ihr Layout oder ziehbar bis S3 unterstützen wollen , dann sagt die Berechnung
px = Gerätebreite = 720
dpi = Gerätedichte = 320
Formel angegeben
Formel austauschen, weil wir den Wert von px haben
jetzt Wert setzen,
so
drawable-sw360dp
wird der Job machenWenn Sie die Gerätekonfiguration von GsmArena Sameway erhalten, können Sie auch einen Ordner gemäß der Android-API-Version des Geräts erstellen, dh drawable-hdpi-v11`, sodass das Gerät mit API11 und Hdpi diese Ressourcen verwendet.
Zusätzliche Tipps:
Verwenden Sie relative Layouts, dp, sp und mm
dp-Einheiten - Geräteunabhängige Pixel, normalisiert auf 1 physikalisches Pixel auf einem Bildschirm mit 160 ppi, dh mittlerer Dichte. Zur Laufzeit skaliert. Verwendung für Bildschirmelementabmessungen
sp-Einheiten - skalierte Pixel, angegeben als Gleitkommawerte, basierend auf dp-Einheiten, aber zusätzlich skaliert für die Einstellung der Schriftgröße des Benutzers. Zur Laufzeit skaliert. Für Schriftgrößen verwenden
Sie sollten RelativeLayout immer für Layouts verwenden. AbsoluteLayout ist veraltet und sollte nicht verwendet werden.
Verwenden Sie geeignete Bildformate - PNG versus JPEG
Android "prefers" PNG for bitmap image files, "accepts" JPEG, and "discourages" GIF.
PNG und JPEG sind jedoch keine Äquivalente. Sie haben unterschiedliche Qualitätskompromisse, und PNG ist nicht immer das Beste:
JPEG kann die Dateigröße um bis zu 50% gegenüber PNG reduzieren. Dies ist von Bedeutung, wenn Ihre App bildintensiv ist
Ein "verlustbehaftetes" JPEG höherer Qualität sieht bei gleicher Dateigröße möglicherweise besser aus als ein stark komprimiertes "verlustfreies" PNG
Fügen Sie Ihren Bildern und Grafiken Beschriftungen zum Debuggen hinzu
Verwenden Sie das Support-Screens-Element
Konfigurieren Sie Ihre Emulatoren mit realen Gerätewerten
Herkömmlicherweise werden Desktop-Systeme mit 72 ppi (Mac) oder 96 ppi (Windows, Linux) angezeigt. Im Vergleich zu Mobilgeräten weisen Desktop-Displays immer eine geringe Dichte auf.
Konfigurieren Sie Ihre Android-Emulatoren immer so, dass sie reale Gerätewerte imitieren, und stellen Sie sie immer so ein, dass sie skaliert werden, um die Gerätedichte zu emulieren.
In Eclipse können Sie ganz einfach mehrere Emulatoren erstellen (wählen Sie in der Eclipse-Menüleiste Fenster> AVD-Manager> Neu ), die mit Werten für reale Geräte konfiguriert sind:
Benennen Sie den Emulator für das reale Gerät, das emuliert wird. Geben Sie die Auflösung an. Verwenden Sie keine integrierten generischen Größen. Stellen Sie die Gerätedichte so ein, dass sie mit dem realen Gerät übereinstimmt.
Wenn Sie das Gerät starten, wählen Sie immer Anzeige auf echte Größe skalieren und geben Sie die tatsächliche Bildschirmgröße in Zoll ein.
Wenn Sie die Gerätedichte nicht festlegen, verwendet der Emulator standardmäßig eine niedrige Dichte und lädt immer ldpi-spezifische Ressourcen. Die Auflösung (Pixelabmessungen) ist korrekt, aber Ihre dichteabhängigen Bildressourcen werden nicht wie beabsichtigt angezeigt.
Natürlich wird nichts, was Sie tun, eine Bildqualität mit höherer Dichte auf einem Desktop-Display mit niedrigerer Dichte reproduzieren.
Hier sind die Daten aufgeführt, die während eines Zeitraums von 7 Tagen bis zum 1. Oktober 2012 gesammelt wurden. Die neueste Statistik zur Android-Plattformversion finden Sie hier
Basierend auf der Bildschirmgröße
Basierend auf der Bildschirmdichte
quelle
Designer sollten Basisdesigns von erstellen
base size of mdpi devices * density conversion factor of highest supported density bucket
Größe. Die Basisbildschirmgröße beträgt 320 x 480 Pixel und die Dichtebereiche sind wie folgt:
Um zusätzlichen verfügbaren Speicherplatz auf Android-Geräten zu nutzen, sollten dehnbare Komponenten in beide Richtungen (horizontal und vertikal) verwendet werden. Detaillierte Informationen finden Sie hier:
http://vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer/
quelle