【问题标题】:How to use font-awesome in edittext?如何在edittext中使用font-awesome?
【发布时间】:2014-06-12 12:18:03
【问题描述】:

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

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

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

【问题讨论】:

  • 我就是这么做的。但是图标被添加为edittext字段中的值
  • 因为它是字体,而不是图像。您可以在线性布局中使用两个文本视图来获得所需的结果,但不能将图标用作字体并同时将其用作文本字段
  • 我希望将图标放置在文本字段中,如reachout.herokuapp.com/users/sign_in 所示。知道我该怎么做吗?
  • 抱歉,我无法从我的工作场所打开此链接。你能把图片上传到你的帖子里让我看看吗?

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


【解决方案1】:

对于android应用中的字体真棒我建议https://github.com/JoanZapata/android-iconify

但这并不能解决您的问题,因为图标仍然是价值的一部分。 为避免这种情况,您可能需要使用https://github.com/DayS/EnhancedEditText,它使用 android-iconify 库来实现您想要的:)

祝你好运

【讨论】:

  • 库太旧了。 @christopher-smit 的解决方案更好。
【解决方案2】:

查看以下 Stack Overflow 帖子。

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);

【讨论】:

    【解决方案3】:

    我该如何解决这个问题。

    使用 PNG 或 JPEG。

    或者,创建(或查找)一个以字体呈现文本的 Drawable,并在运行时使用 setCompoundDrawables() 将此类可绘制对象与您的 EditText 关联。

    【讨论】:

      猜你喜欢
      • 2020-12-25
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 2015-06-08
      • 2023-03-29
      相关资源
      最近更新 更多