我有一个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);
答案 0 :(得分:1)
转到XML布局文件并添加
android:maxLines =“2”
如果有最小行删除它
答案 1 :(得分:1)
您可以尝试在TextView上使用invalidate()。
答案 2 :(得分:1)
感谢您的回答,我试过了。我最后只是在我的字符串末尾添加一些文本(等等),然后以编程方式将文本更改为原始字符串。