ttf studio font family change available android android-layout fonts textview android-textview

android - studio - ¿Por qué TextView.setTypeface() aumenta exageradamente mi altura de TextView cuando uso la fuente Roboto-Italic.ttf?



font android 8 (1)

Estoy tratando de configurar el tipo de letra Roboto Light en un TextView. Descargué las fuentes Roboto de aquí .

Todo lo que hago desde mi código es:

sRobotoItalic = Typeface .createFromAsset(getContext().getAssets(), "fonts/Roboto_v1.2/Roboto-Italic.ttf"); final TextView textView = (TextView) view.findViewById(R.id.text_view); textView.setTypeface(sRobotoItalic);

y la altura de mi TextView cambia para ser casi 5 veces la altura del texto real.

Estoy seguro de que es mi TextView y no otra vista para cambiar su tamaño (he jugado con colores de fondo) y que ese tipo de letra en particular está causando el problema (he intentado establecer diferentes tipos de letra en mi TextView, y nada estaba mal cuando usé ellos).

Ahora, encontré una solución para esto

sRobotoItalic = Typeface .createFromAsset(getContext().getAssets(), "fonts/Roboto_v1.2/Roboto-Italic.ttf"); final TextView textView = (TextView) view.findViewById(R.id.text_view); textView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() { @Override public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) { int height = v.getHeight(); mTypefaceUtils.setRobotoItalicTypeFace(passedExamsLabel); ((TextView) v).setHeight(height); } });

pero es un truco más que una solución. El código se vuelve desordenado rápidamente si hay más vista de texto con este mismo problema.

Este es el TextView xml (segundo)

<RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="@dimen/marginBottom" android:layout_marginLeft="4dp" android:layout_marginRight="4dp" android:layout_marginTop="@dimen/marginTop" android:padding="4dp"> <TextView android:id="@+id/text_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerInParent="true" android:layout_marginLeft="5dp" android:textStyle="italic" android:textSize="@dimen/text_size" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:text="0" android:textSize="@dimen/text_size" android:textStyle="italic" /> </RelativeLayout>

¿Estoy haciendo algo mal? ¿Cómo puedo reparar?