日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android下EditText中的字体不统一问题

發布時間:2024/4/15 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android下EditText中的字体不统一问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

好久沒寫,今天心情好略記下解決的某bug

在一個登錄界面有帳號和密碼兩個EditText,但是卻發現兩個EditText的hint的英文字體不同,看著極不協調。但是兩個EditText都沒有特意設置過hint的字體啊···

經實驗,把密碼欄的android:password="true"屬性去掉后字體變一樣。應該是這個屬性的影響。

經查,hint字體受EditText的text字體影響,即受android:typeface的影響。android:typeface有三個取值:“sans”,“serif”,“monospace”,而缺省的話普通EditText是Sans,想必密碼框的缺省不同的原因。然后將兩個EditText設置相同typeface,但是發現能正常改變帳號欄的hint字體,但是密碼欄hint字體一直保持是monospace不變。

果斷看源碼,發現在EditText的初始化中有這么一段:

if (password) {

??? setTransformationMethod(PasswordTransformationMethod.getInstance());

??? typefaceIndex = MONOSPACE;

}

果然密碼框初始化會強制設置字體為MONOSPACE,這樣解決就簡單了,在代碼實現中加上:

idEdit.setTypeface(Typeface.SANS_SERIF);

passEdit.setTypeface(Typeface.SANS_SERIF);

這樣字體就和諧了~


EditText password = (EditText) findViewById(R.id.register_password_text);
password.setTypeface(Typeface.DEFAULT);
password.setTransformationMethod(new PasswordTransformationMethod());

此外需要去除xml中的android:password="true"語句


總結

以上是生活随笔為你收集整理的Android下EditText中的字体不统一问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。