2012-07-16 16 views
5

He buscado Stackoverflow y google y lo que encuentro son respuestas para las personas que quieren que las fuentes permanezcan del mismo tamaño pero quiero que se agranden cuando la pantalla se agranda.haciendo que las fuentes se agranden en pantallas más grandes

Específicamente, quiero fuentes muy grandes en mi aplicación. En mi teléfono, tienen 1/2 pulgada de alto, perfecto. Mi problema es que en mi tableta de 7 pulgadas también tienen 1/2 pulgada de alto y quiero que se escalen y que sean de aproximadamente 1 pulgada de alto. He probado los modos sp y dp y ambos solo mantengo las fuentes con la misma altura física, que no es lo que quiero. Veo que hay algo nuevo para tabletas con 3.2 y superior, pero quiero admitir dispositivos de 2.3 y superior. He visto un código complejo que dice que escala automáticamente las fuentes para que se ajusten al texto con un ancho, pero eso no es lo que necesito. Quiero que las fuentes sean equivalentes a decir 100sp en un teléfono y 200sp en la tableta. No tengo gráficos y diseños relativos simples con muy pocos elementos en la pantalla. Solo necesito hacer un par de textizes más grandes para pantallas grandes. Pensaría que sería simple pero no puedo encontrarlo.

Aquí es una pantalla de ingreso de texto típico

<TextView 
    android:id="@+id/textDistance" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/labelDistance" 
    android:layout_centerHorizontal="true" 
    android:text="" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:textColor="#ffffff" 
    android:textSize="100sp" /> 

¿Hay una relativamente sencilla manera directa para hacer esto?

Respuesta

5

Dimensiones 'dp' o 'dip': hechas especialmente para ser las mismas en diferentes pantallas. Entonces, no hay una dimensión especial para tu tarea.

Para implementar diferentes tamaños de texto, debe crear varios estilos y colocarlos en las carpetas values-xlarge, values-large, values-normal y values-small.

Una voluntad de estilo se parece a esto:

<style name="BigTextStyle"> 
    <item name="android:textSize">50dp</item> <!-- different values in different folders --> 
</style> 

Y en su opinión, el texto simplemente proporcionar una referencia de estilo:

<TextView 
    style="@style/BigTextStyle" 
    ... 
/> 
+0

que podría ser un poco más en esta solución, se ve bien. Tengo dos carpetas "valores" y "valores-grandes" "valores" tiene dimens.xml, strings.xml y styles.xml. "values-large" solo tiene un archivo dimens.xml. Supongo que está sugiriendo que cree nuevas carpetas, una es "values-xlarge" y luego pondré una carpeta dimens.xml en ella. ¿Dónde pongo el