Android TextView 中的自定义字体 (nunito) 设置不正确

Android custom fonts (nunito) not set properly in TextView

我在 android TextView.

中使用自定义字体
Typeface tf = Typeface.createFromAsset(getAssets(),
                "nunitomedium.ttf");
        txt2= (TextView) findViewById(R.id.txt2);
        txt2.setTypeface(tf);

但是行与行之间的填充没有正确显示。

<TextView
        android:id="@+id/txt2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/_10sdp"
        android:layout_marginRight="@dimen/_10sdp"
        android:layout_marginTop="@dimen/_15sdp"
        android:text="You can send emergency blast to friends and family whenever you feel uncomfortable. Once activated, you will be able to send an emergency blast to your safety network within seconds with the pressing of one button."
        android:textColor="@color/colorBlack"
        android:textSize="@dimen/_15sdp" />

这是我的输出:

我还尝试了以下代码:

android:includeFontPadding="false"

但仍然是同样的问题。不确定,但我也尝试使用 Here 中的 justifyTextView 但同样的问题。有人以前遇到过同样的问题吗?

提前致谢。

编辑:

如果我使用 android:lineSpacingExtra 第一行比其他行多 space。这是我的代码和输出。

<TextView
        android:id="@+id/txt2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/_10sdp"
        android:layout_marginRight="@dimen/_10sdp"
        android:layout_marginTop="@dimen/_15sdp"
        android:lineSpacingExtra="@dimen/_5sdp" <<<<<<<
        android:text="You can send emergency blast to friends and family whenever you feel uncomfortable. Once activated, you will be able to send an emergency blast to your safety network within seconds with the pressing of one button."
        android:textColor="@color/colorBlack"
        android:textSize="@dimen/_15sdp" />

在您的 XML

中添加 linespacingMultiplier
 <TextView
        android:id="@+id/textview_font"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="@dimen/_10sdp"
        android:layout_marginRight="@dimen/_10sdp"
        android:layout_marginTop="@dimen/_15sdp"
        android:text="You can send emergency blast to friends and family whenever you feel uncomfortable. Once activated, you will be able to send an emergency blast to your safety network within seconds with the pressing of one button."
        android:textColor="@android:color/black"
        android:lineSpacingMultiplier="3"
        android:textSize="@dimen/_15sdp" />

在您的代码中添加以下行:-

 mTextViewFont=(TextView)findViewById(R.id.textview_font);
        Typeface tf = Typeface.createFromAsset(getAssets(),
                "nunitomedium.ttf");
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            mTextViewFont.setLineSpacing((float) 5.5,(float) 1.2);
        }
        mTextViewFont.setTypeface(tf);

字体文件存在问题,这是因为您下载它的网站。我从

下载文件

dafontfree.net/download-nunito-f92263.htm

然后替换资产文件夹中的文件。

这是它的输出。

派对晚了 - 我们有完全相同的问题,通过用 Google 字体的最新版本替换 .ttf 字体文件完全解决了 - 这种字体的早期版本很糟糕回合。同时不要忘记删除任何 android:lineSpacingMultiplier 你已经放在适当位置的软糖。