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

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:

  1. Cree el archivo dimens.xml en el directorio de values .
  2. Poner allí <dimen name="font_size">30sp</dimen> . Este es el tamaño de fuente predeterminado.
  3. Cree el archivo dimens.xml en el directorio values-large .
  4. Poner allí <dimen name="font_size">20sp</dimen> . Este es el tamaño de la fuente para la pestaña 1 de la galaxia.
  5. Cree el archivo dimens.xml en el directorio values-sw600dp .
  6. 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.
  7. 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' Introduzca aquí la descripción de la imagen

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.

  • ¿Cómo crear un efecto de marquesina para un texto de menor longitud que no exceda el tamaño de la pantalla en Android?
  • Almacenar un texto grande y estructurado en la aplicación Android
  • Obtener posición absoluta para un desplazamiento dado en TextView (Android)
  • Cómo eliminar el margen superior de TextView?
  • En Android cómo obtener el ancho de la vista de texto que se establece en Wrap_Content
  • Cómo establecer la sombra alrededor de TextView
  • Mostrar el número total como texto para múltiples pines con un pin en la misma ubicación en el mapa en android
  • ¿Estableciendo el subíndice y el superíndice para el carácter específico en el TextView?
  • Efecto de sombra para un texto en Android?
  • ¿Hay una manera de crear el stackoverfow "Etiquetas" EditText / Campo de entrada en Android?
  • ¿Cómo doy espacio entre texto en textview?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.