2012-05-17 19 views
5

Qui sviluppo un'applicazione Android che può essere eseguita su tutti i dispositivi di risoluzione e dimensioni dello schermo. Ma un problema è il mio TextView's Caratteri è lo stesso su tutte le dimensioni dello schermo. Voglio cambiare FontSize secondo Different ScreenSize e Risoluzione dello schermo.TextView FontSize in base a diverse risoluzioni e dimensioni schermo

Grazie in anticipo.

+0

Inserisci un codice, quindi lo sapremo. –

+1

controlla [http://stackoverflow.com/questions/10595795/button-and-size-of-text/10596355#10596355](http://stackoverflow.com/questions/10595795/button-and-size-of- testo/10596355 # 10596355) – silwar

+0

1. utilizzare ** sp ** 2. controllare http://stackoverflow.com/questions/2617266/how-to-adjust-text-font-size-to-fit-textview –

risposta

0

un modo per fare ciò è rendere le cartelle necessarie come layout-large, layout-small, layout-normal, layout-xlarge nella cartella res. e mettere le XMLs in quelle cartelle e quindi modificare quello che vuoi fare con la vista del testo e tutto ciò

2

In primo luogo, se non l'avete già fatto, vi consigliamo di leggere questo

http://developer.android.com/guide/practices/screens_support.html

di fornire qualsiasi risorsa, compresi gli stili che potrebbe applicare al testo, si consiglia di leggere la sezione Using configuration qualifiers

Un altro documento utile qui http://developer.android.com/guide/topics/resources/more-resources.html#Dimension dovrebbe aiutarvi con la selezione la giusta unità di misura per il testo, idealmente si desidera utilizzare sp di come spiegato nel brano:

sp

Pixel Scale-indipendente - Questo è come l'unità dp, ma è anche in scala di preferenza dimensioni del carattere dell'utente. Si consiglia di utilizzare l'unità quando si specificano le dimensioni dei caratteri, in modo che vengano regolate per sia per la densità dello schermo sia per le preferenze dell'utente.

Spero che questo aiuti.

0

è necessario utilizzare l'unità sp per le dimensioni dei caratteri anziché dip o dp. sp è pixel indipendenti dalla scala che si regolano in base alla densità dei pixel dello schermo. ecco la differenza esatta.

dp

indipendenti dalla densità Pixel - un'unità astratto che si basa sulla densità fisica dello schermo. Queste unità sono relative a uno schermo da 160 dpi, quindi un dp è un pixel su uno schermo da 160 dpi. Il rapporto tra dp-to-pixel cambierà con la densità dello schermo, ma non necessariamente in proporzione diretta. Nota: il compilatore accetta sia "dip" che "dp", sebbene "dp" sia più coerente con "sp".

sp
Pixel Scale-indipendente - questo è come l'unità dp, ma è anche in scala di preferenza dimensioni del carattere dell'utente. Si consiglia di utilizzare questa unità quando si specificano le dimensioni dei caratteri, in modo che vengano regolate sia per la densità dello schermo che per le preferenze dell'utente.

4

Usa il codice da Screen Category o utilizzare getSize() metodo come:

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

come descritto here per ottenere la dimensione dello schermo e quindi impostare la dimensione del carattere di conseguenza usando setTextSize() metodo, è possibile anche prendere in considerazione utilizzando l'unità sp per la dimensione del carattere.

-3

Vai al file xml e aggiungere TEXTSIZE come:

android:textSize="20sp" 

Ciò consentirà di aumentare la dimensione dei caratteri

1

Hi creare le cartelle, come di seguito nella cartella delle risorse e quindi copiare i file XML in ad esso ora puoi controllare la finestra della palette mostrerà gli schermi per diverse dimensioni in base alla possibilità di modificare le dimensioni dello schermo.

layout di grandi dimensioni, il layout-piccole, il layout-XLarge,

ora supporta tutti i tipi di dimensioni dello schermo e la dimensione dei caratteri sarà chiara basata su dimensioni dello schermo. Per ulteriori informazioni relative a Supporto di più schermi, controllare l'Android documentation.

1

automatica regolare la dimensione del carattere, come per ogni schermo utilizzando questo codice

Display display; 
Point size; 
int width, height; 
float txtsize; 

dichiarazione e l'uso in OnCreate()

display = getWindowManager().getDefaultDisplay(); 
     size = new Point(); 
     display.getSize(size); 
     width = size.x; 
     height = size.y; 
     txtsize=height*0.024f; 

/* se l'altezza dello schermo è 854 la sua dimensione l'uso del carattere 20.4 */

per impostare la dimensione a vista testo basta utilizzare questo codice ..

textView.setTextSize(txtsize); 
Problemi correlati