テキストビューがあり、Javaファイルでプログラムによってフォントを変更しています。これを行うと、一部のテキストが途切れます。たとえば、「PasswordRecovery」は「PasswordRecov」に移動します。wrap_content属性が古いフォントに適用されていることがわかったので、textviewのwidth属性をwrap_contentではなくfill_parentに変更し、それが機能しました。これは、テキストビューが1行にある場合にのみ修正されます。しかし、新しいフォントで2行になるテキストビューが少なくとも1つあり、前述のように、fill_parentを使用しても、1行下がることはありません。そのため、「パスワードが電子メールで送信されました」という行は、末尾にtoが付いていない「パスワードが電子メールで送信されました」にカットされます。
テキストビューの実際の幅属性を新しいフォントに適用したいと思います。これどうやってするの?
書体を変更する方法は次のとおりです。
私の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);