Tamaño de texto con diferentes resoluciones
Estoy utilizando una pestaña de galaxia 1, 7 pulgadas hdpi y una pestaña de galaxia más, 7 pulgadas hdpi pero más resolución, y en mi aplicación, el texto se puede leer bien en la pestaña galaxia, pero en la pestaña galaxia más hay demasiado pequeño. Im usando SP en el tamaño de la fuente y el diseño de gran tamaño. ¿Alguna idea? Gracias
- Cómo agregar una ruptura de línea en un Android TextView?
- Zoom textview con imagen y texto (contenido html) en android
- ¿Cómo obtener coordenadas de un ClickableSpan dentro de un TextView?
- ¿Cómo alinear el texto tanto a la izquierda como a la derecha de una línea TextView?
- Android - Cómo configurar una fuente personalizada para toda la aplicación
- GetDimension () / getDimensionPixelSize () - problema mutliplier
- ¿Hay una manera fácil de golpear el texto en un widget de aplicación?
- Acceso a TextView desde otra clase
- Establecer TextView texto de html-formatted cadena recurso en XML
- TextView en la Galería
- ¿Cómo restaurar la posición de desplazamiento de texto tras la rotación de la pantalla?
- Margen en TextView personalizado
- ¿Hay alguna manera de desactivar la función de zoom en los campos de entrada en la vista web?
Esto debe ser una ayuda para usted si desea establecer el tamaño mediante programación. El texto se mostrará en el mismo tamaño en cada dispositivo
TextView text = new TextView(this); text.setText("text"); text.setTextSize(16 * getResources().getDisplayMetrics().density);
Por especificaciones de hardware Galaxy Tab 1 es un dispositivo MDPI, pero debido a que utiliza Android 2.x Samsung configurarlo mediante programación para utilizar los recursos HDPI. Así que puedo asesorarte para hacer lo siguiente:
- Cree el archivo
dimens.xml
en el directorio devalues
. - Poner allí
<dimen name="font_size">30sp</dimen>
. Este es el tamaño de fuente predeterminado. - Cree el archivo
dimens.xml
en el directoriovalues-large
. - Poner allí
<dimen name="font_size">20sp</dimen>
. Este es el tamaño de la fuente para la pestaña 1 de la galaxia. - Cree el archivo
dimens.xml
en el directoriovalues-sw600dp
. - Poner allí
<dimen name="font_size">30sp</dimen>
. Este es el tamaño de la fuente de otras tabletas con Android 3.xy más reciente. - En el diseño especifica
android:textSize="@dimens/font_size"
Sólo tiene que crear diferentes carpetas relacionadas con la densidad o tamaño de pantalla como
Opción 1.
values-large values-small values-normal
Para más explicaciones, consulte este enlace …
Soporte de pantalla múltiple
Opcion 2.
mTextView.setTextSize(16 * getResources().getDisplayMetrics().density);
Esto dará TextSize dependiendo de la densidad ..
(1) Creo que usar "dp" o "dip" para texto es mejor que usar "sp" porque dp (densidad de píxeles) se ajusta de acuerdo a la densidad de pantalla. Así, el texto se verá más grande en dispositivos de alta densidad y más pequeño en dispositivos de baja densidad.
(2) O si desea utilizar específicamente "sp" para el tamaño de texto, puede detectar la densidad del dispositivo y, a continuación, establecer el tamaño del texto en consecuencia:
DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); switch(displayMetrics.densityDpi){ case DisplayMetrics.DENSITY_LOW: //set text-size for low-density devices. break; case DisplayMetrics.DENSITY_MEDIUM: //set text-size for medium-density devices. break; case DisplayMetrics.DENSITY_HIGH: //set text-size for high-density devices. break; }
prueba esto:
Me gusta esto
android:textSize= "10sp"
Sp
Píxeles independientes de la báscula – Esto es como la unidad dp, pero también es escalado por la preferencia de tamaño de fuente del usuario. Se recomienda utilizar esta unidad cuando se especifican tamaños de fuente, por lo que se ajustarán tanto a la densidad de pantalla como a las preferencias del usuario.
Puede utilizar cualquiera de estas dimensiones, que el mercado como basado en el tamaño físico de la pantalla . Que los textos de todos los dispositivos tengan el mismo tamaño físico.
Mejor utilizar diferentes valores, Por favor, eche un vistazo –
Diferentes carpetas de valores en android
Para más echar un vistazo
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
Conceptos básicos de los píxeles independientes del dispositivo
O
http://developer.android.com/guide/practices/screens_support.html
Para textSize, Google sugirió usar 'sp' en lugar de 'dp'
Chcek este enlace http://developer.android.com/design/style/typography.html
Y para apoyar el tamaño de fuente para la pantalla múltiple usted debe crear el nuevo recurso para cada tamaño de pantalla http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
TextView headerTextView (Etiqueta de cadena) {
TextView headerTextView = new TextView(this.context); float scale = context.getResources().getDisplayMetrics().density; if(scale > 2.0) { headerTextView.setWidth(210); headerTextView.setHeight(120); headerTextView.setTextSize(17); } else { headerTextView.setWidth(125); headerTextView.setHeight(60); headerTextView.setTextSize(21); }
El código siguiente ajusta la escala de tamaño de fuente en un textView, utilizando la configuración del tamaño de fuente del sistema del usuario.
Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); display.getRealSize(size); int screenWidth = size.x; float fontscale = getResources().getConfiguration().fontScale; float textSize = (screenWidth/ fontscale)/10; Log.e(TAG, "textSize is: " + textSize); yourTextView.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize);
En resumen, puede utilizar el DP escalable y el enfoque escalable de fuentes .
La estructura de proyectos de Android permite especificar diferentes tamaños de fuente (SP) y valores de margen (DP) definiéndolos en archivos dimens.xml para tamaños de pantalla compatibles. Pero el problema que aún permanece es: ¿qué valores usar? Los diseñadores de UX normalmente proporcionan guías de estilo para un solo juego (por ejemplo, tamaño de pantalla de 360×640 DP) y no proporcionan todos los demás tamaños de pantalla compatibles. Por lo tanto, el problema de utilizar vlaues derecho para otros tamaños de pantalla compatibles sigue sin respuesta.
Una buena solución (por mi understading) es utilizar readymade diccionario escalable de los archivos dimens.xml, algo similar al diccionario de archivos proporcionados por esta biblioteca. Después de agregar estos archivos xml al proyecto, sólo tiene que usar las claves en sus diseños y, a continuación, Android utiliza automáticamente el valor de fuente / margen del directorio respectivo. Por favor, consulte aquí para la diferencia visual – con y sin este enfoque.