转载地址:点击打开链接

在一个登录界面有帐号和密码两个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);

这样字体就和谐了~


更多相关文章

  1. Android(安卓)source code[ 源代码]下载,问题和解决办法
  2. Android(安卓)RadioGroup设置默认选中项
  3. Android(安卓)ApiDemos示例解析(108):Views->Controls->2. Defau
  4. 【从头学android】在两个Activity之间实现界面切换
  5. Android(安卓)Layout inflate分析(2) - ViewGroup
  6. 通用android studio gradle 文件(电商商家版,两个gradle不同)
  7. 介绍两个Android开源项目:Android显示GIF动画
  8. 介绍两个Android开源项目:Android显示GIF动画
  9. Mono for Android试用体验

随机推荐

  1. Android和iOS在新版本中助力HTML5
  2. Android Permission大全1.0最终版本
  3. Myeclipse添加android开发插件
  4. Android 判断网络状态,并且在没有网络的时
  5. Android中URI的格式
  6. 【Android 基础】TextView的属性详解
  7. Android调试之Logcat
  8. Android中用shape做渐变,边框,圆角等效果
  9. android webview自定义标签!(实现打电话的
  10. [置顶] Android屏幕适配全攻略