如何在edittext中使用font-awesome?

时间:2014-06-12 12:18:03

标签: android android-edittext android-drawable font-awesome

到目前为止,我已使用以下代码添加图标

EditText email = (EditText) findViewById(R.id.email);
Typeface font = Typeface.createFromAsset( getAssets(), "fontawesome-webfont.ttf" );
email.setTypeface(font);

但是图标会被添加为edittext字段的值。而我希望图标出现在左侧。我也知道android:drawableLeft属性,但它需要我可绘制的资源,即jpeg而不是ttf。我怎么解决这个问题。谢谢 enter image description here

3 个答案:

答案 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);
相关问题