2012-06-05 5 views
7

Ho alcuni problemi e domande in merito ad alcune sviluppo dell'interfaccia utente su Android. In primo luogo guardare a questa immagine:Prevenire Pixelation di immagini, rientri listviews e l'aggiunta di angoli arrotondati

enter image description here

dapprima a immagine A) Ciò è un'immagine che inserisco e ripetere orizzontalmente per dare la forma a zig-zag nella parte superiore dello schermo indipendentemente dalla dimensione dello schermo e sopra che una textField senza contenuto e colore di sfondo - Ma sono sicuro che è possibile che i due colori non coincidano perfettamente come dovrebbe anche se entrambi hanno lo stesso valore di colore esadecimale (# BF0426). E in secondo luogo, puoi anche vedere dei pixel importanti su quell'immagine a zig-zag. Come posso risolvere questi 2 problemi?

E poi alla immagine B) Qui ho una semplice ListView. Quello che mi piacerebbe fare è in primo luogo indentarlo un po 'su entrambi i lati e intorno agli angoli dell'elemento superiore e inferiore. Quindi in pratica voglio che assomigli al bordo blu disegnato sullo screenshot. (Il tuo tipico elenco di iOS). Come procedo a fare questo?

Grazie in anticipo per eventuali suggerimenti!

risposta

5

Per l'immagine. Solo per curiosità, perché non vorresti semplicemente estendere la tua immagine per includere anche i pixel più alti? In altre parole, costruisci la tua immagine ripetitiva in modo che incorpori i pixel che stai cercando di creare usando la textview vuota. Questo si occuperà almeno del missmatch del colore, poiché il colore verrà generato dallo stesso punto. In termini di pixelazione. Stai davvero ripetendo l'immagine o stai diffondendo l'immagine. Una diffusione causerà sicuramente quello che stai vedendo.

Per la vista tabella: Per il rientro sinistro e destro, è possibile utilizzare semplicemente gli attributi margine o riempimento di voce tableview. Ci sono attributi generici di padding e/o margin (che riempiranno tutti i top, bottom, left e right), oppure ci sono attributi di padding e/o margin separati per ogni top, bottom, left e right. Ecco un ottimo link su padding contro margine che potresti voler leggere.

Difference between a View's Padding and Margin

attributo Esempio (come definito in un file XML) per margine inferiore

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

attributo Esempio (come definito in un file XML) per top padding

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

Per la parte superiore e inferiore personalizzate, dovresti essere in grado di utilizzare il seguente tutorial

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

Da qui, si dovrebbe essere in grado di rilevare l'elemento come il primo e l'ultimo elemento e impostare la proprietà di sfondo (immagine) per un'immagine di sfondo che ha un fondo superiore o arrotondato arrotondato. Questo è come lo faccio su iPhone. Ho anche implementato cose che mi sembrano come visualizzazioni di tabelle ma sono semplicemente layout verticali con le mie visualizzazioni personalizzate che ho creato per assomigliare a ciò che desideri.

+0

Ottima risposta. Molto istruttivo :-) Grazie mille! – Tiwaz89

+0

Felice di aver risposto a quello che ti serviva :-) – trumpetlicks

1

Una cosa da considerare è che il formato del file che si utilizza modifica l'immagine mentre la si salva (compressione con perdita), quindi un .jpg con un determinato colore potrebbe apparire diverso da un .bmp con lo stesso colore. Assicurati di essere autore di utilizzare la stessa applicazione e/o le impostazioni di esportazione quando si cerca di abbinare le immagini.

Inoltre, se hai creato l'immagine con un DPI che non è compatibile con lo schermo Android, può causare gravi pixel in aree di dettaglio, in particolare con sfumature e ombre esterne.