Italian Stili

zakker

Member
Licensed User
Ciao, mi sto un po' deprimendo...
Ho 2 dispositivi:
- Samsung Galaxy S Advance con display 4" e android 2.3.6
- Huawei P9Lite con display 5,2" e android 6 (entro marzo dovrebbero aggiornarlo al 7)

A parte la dimensione del testo e il posizionamento delle view (che ovviamente non coincidono per i 2 dispositivi, a meno di specificare il tutto negli script del designer calcolandosi percentuali ecc ecc) come posso fare per avere perlomeno lo stesso stile per Spinner, Edittext e quant'altro?

Sempre che sia possibile...

Immagino si debba impostare qualcosa nel Manifest.xml...Qualcuno mi può illuminare?
 

LucaMs

Expert
Licensed User
Longtime User
Quelli che chiami "stili", perlomeno in Android si chiamano "temi" (themes).

Ce ne sono di predefiniti (i vari Holo, Dark, Light, etc) che potrebbero però non soddisfarti (anche perché, se non sbaglio, a seconda della versione di Android sui quali vengono applicati, hanno alla fine un aspetto differente o potrebbero non essere disponibili.).

Direi che potresti provare con:
https://www.b4x.com/android/forum/threads/grafica-orribile.74756/#post-474559

http://www.html.it/pag/49013/stili-e-temi/
 
Last edited:

zakker

Member
Licensed User
In realtà li chiamo "Stili" perchè di stili si tratta... se poi sulla pagina ufficiale di sviluppo Android (https://developer.android.com/guide/topics/ui/themes.html) il titolo è "Styles and Themes" e fa distinzione tra tema e stile (che in effetti c'è) direi di non aver sbagliato il termine.

Il problema è che mi sembra davvero tutto troppo incasinato il poter visualizzare un'app nello stesso modo su dispostivi diversi e che cambiano in continuazione.

Boh, sta cosa mi demotiva molto... dopo ore e ore passate a scrivere codice, cercato informazioni ecc ecc vedi che poi su un dispositivo che non avevi sottomano per provare le cose si vedono diversamente beh....ti girano parecchio le scatole. E chissà su altri 1000 dispositivi con 1000 verisoni di android ancora diverse come si vedranno...
 

LucaMs

Expert
Licensed User
Longtime User
Beh, un tema dovrebbe essere un gruppo di stili, per le varie view, almeno io la capisco così, ma alla fine il tema si può considerare uno stile. Ma queste sono sottigliezze non utili a risolve il "problema" :)

Non avendoci perso tempo, in quanto se ad esempio imposto i colori di sfondo e di testo di una label direttamente questa avrà lo stesso aspetto su qualunque dispositivo e quindi non mi interessano i temi, non si può certo dire che io sia esperto.

Il punto è che dovresti impostare un tema nel Manifest e questo tema potrebbe anche essere un tuo tema personalizzato, come descritto in quel thread; facendo in questo modo, di sicuro l'aspetto sarà identico su ogni dispositivo, qualunque versione di Android abbia.
 

zakker

Member
Licensed User
cambiando nel manifest
<uses-sdk android:minSdkVersion="5" android:targetSdkVersion="14"/> con <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="11"/>

la cosa sembra risolversi, ma mi fa dei difetti sulla visualizzazione delle Edittext, mettendo delle righe bianche in mezzo (solo su Android 6)

ufffffff
 

zakker

Member
Licensed User
Infatti non è quello che dovresti cambiare ma, ad esempio:


In questo modo il tema sarà Holo.Light mentre in quel thread ti spiega come creare temi personalizzati.


ho già provato tutti gli Holo di questo mondo... mannaggia a loro !!! :)
 

sirjo66

Well-Known Member
Licensed User
Longtime User
ti dò ragione, ci sono 1000 dispositivi diversi con 1000 risoluzioni diverse e 1000 rapporti tra larghezza/altezza dello schermo, con 1000 DPI diversi eccetera eccetera eccetera, e questo demotiva fortemente

comunque, se posso darti un consiglio, non considerare dispositivi con il sistema operativo sotto al 4.0 in giro ce ne sono ormai pochissimi, sul 2.2 e giù di lì ormai non ci gira quasi più nulla.

Per cui piuttosto prova il tutto sulla versione 4 o superiori

Qui trovi la tabella delle percentuali dei sistemi operativi, come vedi il 2.3 è ormai al 1%
https://developer.android.com/about/dashboards/index.html
 

LucaMs

Expert
Licensed User
Longtime User
E' vero ma questo lui l'aveva già considerato (come il solito grosso problema, che sarebbe automaticamente risolto se le case produttrici si decidessero a creare solo dispositivi con formato 16:9, come per i TV; pensa che disastro se li producessero "ad capocchiam").

Infatti ha premesso:
A parte la dimensione del testo e il posizionamento delle view (che ovviamente non coincidono per i 2 dispositivi, a meno di specificare il tutto negli script del designer calcolandosi percentuali ecc ecc)

Il problema è il diverso aspetto di alcune View a seconda della versione di Android (ad esempio i radiobutton o le checkbox, ma anche i colori delle edittext: c'è un thread di Filippo nel quale se ne parla, perché in alcuni casi il testo non è visibile...).

Questo si può risolvere solo con i temi, meglio ancora se personalizzati.
 
Top