0

我有一个 textview,我正在以编程方式在 java 文件中更改字体。当我这样做时,一些文本会被截断。例如,“密码恢复”转到“密码恢复”。我认为 wrap_content 属性正在应用于旧字体,所以我将 textview 的 width 属性更改为 fill_parent,而不是 wrap_content,这样就可以了。仅当文本视图位于一行时才修复它。但是我至少有一个文本视图可以使用新字体进入两行,即使使用 fill_parent,如前所述,它也不会下降一行。因此,“您的密码已通过电子邮件发送至”这一行被剪切为“您的密码已通过电子邮件发送”,最后没有收件人。

我希望将我的 textview 的实际宽度属性应用于我的新字体。我怎样才能做到这一点?

这是我更改字体的方法:

在我的 PassRec.java

 private void init() {
    /*
     * load the fonts that are going to be used with this view
     */
    Typeface museoSans700 = Typeface.createFromAsset(JOMAppActivity.instance.getAssets(), "fonts/MuseoSans_700.otf");

    /*
     * start assigning layout elements to local variables
     */
    this.passRecoveryTxtView = (TextView) this.findViewById(R.id.passRecovTxtView);
    this.emailedTxtView = (TextView) this.findViewById(R.id.textView1);
    this.emailTxtView = (TextView) this.findViewById(R.id.userEmailAddPRE);
    this.returnBtn = (Button) this.findViewById(R.id.returnSignInBtn);

    /*
     * Assign the fonts for the login layout
     */
    this.passRecoveryTxtView.setTypeface(museoSans700);
    this.emailedTxtView.setTypeface(museoSans700);
    this.emailTxtView.setTypeface(museoSans700);
4

3 回答 3

1

您可以尝试在 TextView 上使用 invalidate()。

于 2012-10-08T19:45:43.120 回答
1

谢谢你的回答,我都试过了。我最终只是在我的字符串末尾添加了一些文本(等等),然后以编程方式将文本更改为原始字符串。

于 2012-10-08T21:55:54.447 回答
1

转到您的 XML 布局文件并添加

安卓:m​​axLines="2"

如果有最小行删除它

于 2012-10-08T19:21:34.153 回答