我正在开发Android软键盘。因此,我在使用该键盘编写时,尝试使用EditText字段中的默认android字体以外的字体。 请注意,我不希望更改Keys的字体,我希望根据我的字体更改输入文本的字体。
我想看起来像这样:
答案 0 :(得分:1)
我认为唯一的方法是为按钮文本设置Normat字体。 并使用不同的字体在EditText中写入!
更改EditText的字体:Change font for EditText in Android?
答案 1 :(得分:1)
我正在以roboto字体为例
您可以在资产文件夹中创建字体(即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_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="2dip" />