Textview应用width属性以编程方式添加字体,android

时间:2012-10-08 19:17:03

标签: android textview width

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

我希望将textview的实际width属性应用于我的新字体。我怎么能这样做?

以下是我如何更改字体:

在我的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);

3 个答案:

答案 0 :(得分:1)

转到XML布局文件并添加

  

android:maxLines =“2”

如果有最小行删除它

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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