到目前为止,我已使用以下代码添加图标
EditText email = (EditText) findViewById(R.id.email);
Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" );
email.setTypeface(font);
但是图标会被添加为edittext字段的值。而我希望图标出现在左侧。我也知道android:drawableLeft属性,但它需要我可绘制的资源,即jpeg而不是ttf。我怎么解决这个问题。谢谢
答案 0 :(得分:4)
对于Android应用中的字体真棒我建议https://github.com/JoanZapata/android-iconify
但这不会解决您的问题,因为图标仍然是值的一部分。 为了避免这种情况,您可能希望使用https://github.com/DayS/EnhancedEditText使用android-iconify库来实现您想要的效果:)
祝你好运答案 1 :(得分:0)
我该如何解决这个问题。
使用PNG或JPEG。
或者,创建(或查找)以字体呈现文本的Drawable
,并使用setCompoundDrawables()
在运行时将此类drawable与EditText
相关联。
答案 2 :(得分:0)
查看以下堆栈溢出帖子。
How to use icon from font file as a drawable in Android
然后使用它:
mEmailView = findViewById(R.id.login_email);
FontDrawable user = new FontDrawable(this, getString(R.string.fa_fa_user_circle_o), iconFont);
user.sizePx((int)mEmailView.getTextSize());
user.colorRes(R.color.white);
mEmailView.setCompoundDrawablesWithIntrinsicBounds(user, null, null, null);