【问题标题】:Using custom font in android LatinIME keyboard在 android LatinIME 键盘中使用自定义字体
【发布时间】:2012-08-19 17:32:47
【问题描述】:

我正在开发 Android 键盘,方法是修改 LatinIME 键盘以使用 android 最初不附带的语言编写。因此,我尝试在使用该键盘书写时在 EditText 字段中使用默认 android 字体以外的字体。

请注意,我不想更改 Keys 的字体,我希望根据我的字体更改 Entered 文本的字体。

现在在 EditText 字段中输入文本时,如果我可以获得该 EditText 字段的引用,那么任务就很简单了:

Typeface myTypeface = Typeface.createFromAsset(getAssets(), "fonts/myFont.ttf");
referenceToEditText.setTypeface(myTypeface);

但问题是如何获得对 EditText 字段(我输入文本的字段)的引用?

有什么想法吗?

【问题讨论】:

  • 您好,您找到解决方案了吗?我遇到了同样的问题,为此,我必须 root android,在 /system/fonts ([link]karuppuswamy.com/wordpress/2009/04/25/…) 上执行 CHMOD 777,然后覆盖字体以使用我自己的。

标签: android android-softkeyboard


【解决方案1】:

在你activity的onCreate函数中,获取edittext(使用你在XML布局文件中设置的id),然后调用setTypeFace:

EditText myEditText = (EditText) findViewById(R.id.myEditText);
myEditText.setTypeface(Constant.APP_FONT);

【讨论】:

  • 我不应该在布局文件中设置 EditText id,事实上我不应该有特定的布局文件。我正在开发一个键盘伙伴
  • 好的,我想我明白了。您想从键盘强制使用 EditText 字体。我希望不是那样..
  • 没有“我的编辑文本”,当我开始写电子邮件正文时,文本字段是那个电子邮件应用程序的
【解决方案2】:

你是在谈论从键盘获取 Edittextfield 的输入吗? 检查这个:

InputConnection ic = getCurrentInputConnection();

        CharSequence currentText = ic.getExtractedText(new ExtractedTextRequest(), 0).text;

        //Toast.makeText(this, currentText, Toast.LENGTH_LONG).show();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-27
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多