2012-05-17 21 views
5

Aquí desarrollo una aplicación de Android, que puede ejecutarse en todos los dispositivos de resolución y tamaño de pantalla. Pero un problema es que mi TextView's Fontsize es igual en todo el tamaño de pantalla. Quiero cambiar FontSize según diferentes ScreenSize y resolución de pantalla.TextView FontSize de acuerdo con Different Resolution y ScreenSize

Gracias de antemano.

+0

Ponga un código para que lo sepamos. –

+1

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

+0

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

Respuesta

0

una forma de hacerlo es hacer las carpetas necesarias como layout-large, layout-small, layout-normal, layout-xlarge en la carpeta res. y poner sus XMLs en los que la carpeta y luego cambiar lo que quiere hacer con la vista de texto y cualquier cosa

2

En primer lugar, si no lo ha hecho, usted debe leer este

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

Para proporcionar cualquier recurso, incluidos los estilos que podrían aplicarse al texto, debe leer la sección Using configuration qualifiers

Otro documento útil aquí http://developer.android.com/guide/topics/resources/more-resources.html#Dimension debe ayudarle a seleccionar la unidad de medida correcta para el texto, idealmente desea utilizar sp como se explica en el extracto:

sp

píxeles independientes de la escala - esto es como la unidad DP, pero también es escalado por la preferencia tamaño de la fuente del usuario. Se recomienda utilizar esta unidad al especificar tamaños de fuente, por lo que se ajustarán para tanto la densidad de la pantalla como las preferencias del usuario.

Espero que ayude.

0

debe utilizar la unidad sp para tamaños de fuente en lugar de dip o dp. sp son píxeles independientes de la escala que se ajustan de acuerdo con la densidad de píxeles de la pantalla. aquí está la diferencia exacta.

dp

píxeles independientes de la densidad - una unidad abstracta que se basa en la densidad física de la pantalla. Estas unidades son relativas a una pantalla de 160 ppp, por lo que una dp es un píxel en una pantalla de 160 ppp. La relación de dp-a-píxel cambiará con la densidad de la pantalla, pero no necesariamente en proporción directa. Nota: El compilador acepta tanto "dip" como "dp", aunque "dp" es más consistente con "sp".

sp
píxeles independientes de la escala - esto es como la unidad DP, pero también es escalado por la preferencia tamaño de la fuente del usuario. Se recomienda utilizar esta unidad cuando se especifiquen los tamaños de fuente, para que se ajusten tanto para la densidad de la pantalla como para las preferencias del usuario.

4

Utilice el código de Screen Category o utilizar getSize() método como:

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

como se describe here para obtener el tamaño de la pantalla y a continuación, establezca de acuerdo con el tamaño de fuente utilizando SetTextSize() método, también se puede considerar usando la unidad sp para tamaño de letra.

-3

Ir a su archivo XML y añadir textsize como:

android:textSize="20sp" 

Esto aumentará el tamaño de fuente

1

Hola crear las carpetas de la siguiente manera en la carpeta de recursos y luego copiar los archivos XML en el que se ahora puede consultar la ventana de la paleta que mostrará las pantallas de diferentes tamaños en función de que puede modificar el tamaño de la pantalla.

diseño a gran, diseño microcítico, disposición del que lo normal,

Ahora es compatible con todos los tipos de tamaños de pantalla y el tamaño de fuente se basará en el tamaño de la pantalla clara. Para obtener más información acerca de cómo admitir pantallas múltiples, consulte android documentation.

1

automática ajustar el tamaño de fuente como por pantalla mediante el uso de este código

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

declarar y utilizar en alcrear()

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

/* si su altura de la pantalla es 854 su uso Tamaño de fuente 20.4 */

para establecer el tamaño de la vista de texto solo use este código ..

textView.setTextSize(txtsize); 
Cuestiones relacionadas