如何使用软键盘在输入编辑文本字段区域中键入自定义字体? [关闭]
Posted
技术标签:
【中文标题】如何使用软键盘在输入编辑文本字段区域中键入自定义字体? [关闭]【英文标题】:how can i type custom font in input edittext field area using softkeyboard? [closed] 【发布时间】:2015-09-18 15:59:24 【问题描述】:我正在开发一个 android 软键盘。因此,在使用该键盘书写时,我尝试在 EditText 字段中使用默认 android 字体以外的字体。 请注意,我不想更改 Keys 的字体,我希望根据我的字体更改 Entered 文本的字体。
我想看起来像这样:
【问题讨论】:
我刚刚上传了 iphone 3rd 方键盘示例。 我想做这个键盘,支持输入连接字段中的按键文本字体样式。 SO: Change font for EditText in Android? 这能回答你的问题吗? Change font for EditText in Android? 【参考方案1】:我以roboto字体为例
您可以在asset文件夹中创建字体(即asset/fonts/roboto.ttf)。
然后,为您的 EditText 创建一个适当的类:
// RobotoFont class
package com.my.font;
public class EditTextRobotoFont extends EditText
public EditTextRobotoFont(Context context, AttributeSet attrs, int defStyle)
super(context, attrs, defStyle);
public EditTextRobotoFont(Context context, AttributeSet attrs)
super(context, attrs);
public EditTextRobotoFont(Context context)
super(context);
public void setTypeface(Typeface tf, int style)
if (style == Typeface.BOLD)
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Bold.ttf"));
else if(style == Typeface.ITALIC)
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Italic.ttf"));
else
super.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Regular.ttf"));
最后,更新你的布局:
//main.xml
//replace EditText with package name com.my.font.EditTextRobotoFont
<com.my.font.EditTextRobotoFont
android:layout_
android:layout_
android:paddingBottom="2dip" />
【讨论】:
我希望使用我的软键盘根据我在消息编辑文本字段中的字体更改输入文本的字体。请注意,编辑文本字段区域不是我自己的应用程序部分。以上是关于如何使用软键盘在输入编辑文本字段区域中键入自定义字体? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章