El tamaño de fuente diferente de las cadenas en el mismo TextView

Tengo un textView dentro con un número (variable) y una string , ¿cómo puedo dar el número uno de tamaño más grande que la cadena? el código:

 TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size); if (ls.numProducts != null) { size.setText(ls.numProducts + " " + mContext.getString(R.string.products)); } 

Quiero ls.numproducts tiene un tamaño diferente del resto del texto. ¿Cómo hacer?

Utilizar una cadena Spannable

  String s= "Hello Everyone"; SpannableString ss1= new SpannableString(s); ss1.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);// set color TextView tv= (TextView) findViewById(R.id.textview); tv.setText(ss1); 

Instantánea

Introduzca aquí la descripción de la imagen

Puede dividir la cadena utilizando el espacio y añadir espacio a la cadena que necesita.

  String s= "Hello Everyone"; String[] each = s.split(" "); 

Ahora aplique span a la cadena y añada la misma a textview.

Apenas en caso de que usted se esté preguntando cómo usted puede fijar varios tamaños diferentes en el mismo textview, pero usando un tamaño absoluto y no un relativo, usted puede alcanzar eso usando AbsoluteSpan vez de un RelativeSpan .

Sólo tiene que obtener la dimensión en píxeles del tamaño de texto deseado

 int textSize1 = getResources().getDimensionPixelSize(R.dimen.text_size_1); int textSize2 = getResources().getDimensionPixelSize(R.dimen.text_size_2); 

Y luego crear un nuevo AbsoluteSpan basado en el texto

 String text1 = "Hi"; String text2 = "there"; SpannableString span1 = new SpannableString(text1); span1.setSpan(new AbsoluteSizeSpan(textSize1), 0, text1.length(), SPAN_INCLUSIVE_INCLUSIVE); SpannableString span2 = new SpannableString(text2); span2.setSpan(new AbsoluteSizeSpan(textSize2), 0, text2.length(), SPAN_INCLUSIVE_INCLUSIVE); // let's put both spans together with a separator and all CharSequence finalText = TextUtils.concat(span1, " ", span2); 

Usted puede conseguir esto hecho usando la cadena del html y fijar el html a Textview usando
txtView.setText(Html.fromHtml("Your html string here"));

Por ejemplo :

 txtView.setText(Html.fromHtml("<html><body><font size=5 color=red>Hello </font> World </body><html>"));` 

Prueba spannableStringbuilder . Usando esto podemos crear una cadena con varios tamaños de fuente.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.