2012-06-05 3 views
7

Ich habe einige Fragen und Fragen zu einigen UI-Entwicklungen auf Android. Blick zunächst auf diesem Bild:Verhindern der Pixelbildung von Bildern, Einrücken von listViews und Hinzufügen abgerundeter Ecken

enter image description here

zunächst auf Bild A) Dies ist ein Bild, das ich einfügen und horizontal wiederholen Sie die Zick-Zack-Form am oberen Rande des Bildschirms, unabhängig von Bildschirmgröße und darüber eine geben, textField ohne Inhalt und Hintergrundfarbe - Aber ich kann mir sicher sein, dass die beiden Farben nicht ganz so perfekt zueinander passen, obwohl sie beide den gleichen Hex-Farbwert haben (# BF0426). Und zweitens können Sie auf diesem Zick-Zack-Bild auch eine ernsthafte Verpixelung sehen. Wie behebe ich diese 2 Probleme?

Und dann bei Bild B) Hier habe ich eine einfache ListView. Was ich gerne machen würde, ist zuerst ein wenig auf beiden Seiten einrücken und um die Ecken des oberen und unteren Elements. Also im Grunde möchte ich, dass es wie der blaue Rand auf dem Screenshot aussieht. (Ihr typisches iOS-Listenansicht). Wie gehe ich dabei vor?

Vielen Dank im Voraus für irgendwelche Tipps!

Antwort

5

Für das Bild. Nur aus Neugier, warum würden Sie Ihr Bild nicht einfach um die oberen Pixel erweitern? Mit anderen Worten, erstellen Sie Ihr sich wiederholendes Bild so, dass es die Pixel enthält, die Sie mit der leeren Textansicht erstellen möchten. Dies wird zumindest für die Farbfehlübereinstimmung sorgen, da die Farbe alle am selben Ort erzeugt wird. In Bezug auf die Pixelierung. Wiederholst du wirklich das Bild oder verbreitest du das Bild. Eine Verbreitung wird definitiv verursachen, was Sie sehen.

Für Ihre Tabellenansicht: Für den linken und rechten Einzug können Sie einfach die Rand- oder Auffüllattribute des TableView-Elements verwenden. Es gibt generische Füll- und/oder Randattribute (die alle oben, unten, links und rechts auffüllen), oder es gibt separate Füll- und/oder Randattribute für jede obere, untere, linke und rechte Seite. Hier ist ein guter Link zum Padding im Vergleich zum Rand, den Sie vielleicht lesen möchten.

Difference between a View's Padding and Margin

Beispiel Attribute (wie in einer XML-Datei genannt wird) für die unteren Rand

android:layout_marginBottom 
setMargins(left, top, right, bottom) // for setting margins programmatically 

Beispiel Attribute (wie in einer XML-Datei genannt wird) für die obere Polsterung

android:paddingTop 
setPadding(left, top, right, bottom) // for setting padding programmatically 

Für die benutzerdefinierte oben und unten, sollten Sie in der Lage sein, das folgende Tutorial

zu verwenden

http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

Von hier aus sollten Sie in der Lage sein, das Objekt als erstes und letztes Objekt zu erkennen und die Hintergrundeigenschaft (Bild) auf ein Hintergrundbild mit abgerundetem oder gerundetem Boden einzustellen. So mache ich das auf dem iPhone. Ich habe auch Dinge implementiert, die wie Tabellenansichten aussehen, aber einfach vertikale Layouts mit meinen eigenen benutzerdefinierten Ansichten sind, die ich gemacht habe, um so auszusehen, wie du es willst.

+0

Ausgezeichnete Antwort. Sehr informativ :-) Vielen Dank! – Tiwaz89

+0

Froh, dass es beantwortet hat, was du brauchst :-) – trumpetlicks

1

Eine Sache zu beachten ist, das Dateiformat, das Sie verwenden, wird das Bild mutieren, während Sie es speichern (verlustbehaftete Komprimierung), so dass ein JPG mit einer bestimmten Farbe anders aussehen kann als ein BMP mit der gleichen Farbe. Stellen Sie sicher, dass Sie die gleichen Anwendungs- und/oder Exporteinstellungen verwenden, wenn Sie versuchen, Bilder abzugleichen.

Wenn Sie Ihr Bild mit einem DPI erstellt haben, das nicht mit dem Android-Display kompatibel ist, kann dies zu schwerwiegenden Verpixelungen in Detailbereichen führen, insbesondere bei Farbverläufen und Schatten.

Verwandte Themen