字体始终显示默认字体。
我的字体存储在资源/字体中。我尝试使用其他字体,并对字体进行重新编码。此外,PixlUI库并没有解决这个问题。
主要活动。Java语言
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button);
Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/OldEnglishFive.ttf");
button.setTypeface(typeface);
}
activity\u main。xml
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="220dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:onClick="doSomething"
android:text="TEXT" />
一个好的选择是仔细检查您的文件夹、字体和字体目录名拼写。一个好主意是显示任何可能打印的错误并发布它们,以便我们更好地了解问题。如果您也可以发布字体名称并仔细检查它们是否相同,并确保您的资产位于正确的位置,希望我有所帮助。
不要使用setTypeface方法直接设置Typeface,请尝试下面的代码片段:
protected void onCreate(Bundle savedInstanceState) {
... //do whatever you want
Button button = (Button) findViewById(R.id.button);
Typeface typeface = Typeface.createFromAsset(getAssets(),"fonts/OldEnglishFive.ttf");
button.setText(changeFontStyle("your text", typeface));
}
// custom function for changing the font style of text
public Spannable changeFontStyle(String finalString, Typeface typeface){
spannable = new SpannableString(finalString);
spannable.setSpan(new CustomTypefaceSpan("", typeface), 0, finalString.length(), 0);
return spannable;
}
请告诉我是否面临任何问题。
如果您以前没有尝试过使用字体。我建议删除您的资产文件夹,在res文件夹中创建一个新的资产文件夹,然后将其移回原来的位置。有时Android Studio不接受生成的资产文件夹。
如图所示,运行时异常:我尝试过的每种字体都找不到字体-Android
此外,我建议创建一个扩展按钮的类,这样,如果您为按钮指定了正确的XML,它就会自动为该小部件设置字体。
例如:
public class CustomFontButton extends Button {
AttributeSet attr;
public CustomFontButton(Context context) {
super(context);
setCustomFont(context, attr);
}
public CustomFontButton(Context context, AttributeSet attrs) {
super(context, attrs);
setCustomFont(context, attrs);
}
public CustomFontButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setCustomFont(context, attrs);
}
private void setCustomFont(Context ctx, AttributeSet attrs) {
String customFont = null;
TypedArray a = null;
if (attrs != null) {
a = ctx.obtainStyledAttributes(attrs, R.styleable.CustomFontButton);
customFont = a.getString(R.styleable.CustomFontButton_customFont);
}
if (customFont == null) customFont = "fonts/OldEnglishFive.ttf";
setCustomFont(ctx, customFont);
if (a != null) {
a.recycle();
}
}
public boolean setCustomFont(Context ctx, String asset) {
Typeface tf = null;
try {
tf = Typeface.createFromAsset(ctx.getAssets(), asset);
} catch (Exception e) {
Log.e("textView", "Could not get typeface", e);
return false;
}
setTypeface(tf);
return true;
}
}
然后在您的xml中,您只需要更改
<yourpackagename.CustomFontButton
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="220dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:onClick="doSomething"
android:text="TEXT" />
在值文件夹中创建attrs.xml。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="CustomFontButton">
<attr name="customFont" format="string"/>
</declare-styleable>
</resources >
这将节省您每次需要在按钮上使用自定义字体(或大多数其他小部件,可以应用相同的逻辑)时所需的设置字体
我是“Flutter”的新手,我试图从谷歌字体添加新的字体系列到我的应用程序。我遵循了这些步骤。 > 下载google字体(IndieFlower-Regular.ttf) 在根目录下创建了一个fonts文件夹,并复制了。tff文件。 将其添加到pubspec.yaml文件并获取依赖项。 添加到 .dart 文件中,如下所示 样式: 文本样式( 颜色: 颜色.黑色87, 字体大小: 25.0, 字
问题内容: 我有Slick2D库,并使用Java做游戏。我一直想知道,只是一个简短的问题,如何在Graphics对象上设置字体以绘制不同的字体。我不能使它工作。我认为这与AngelCode有关,但是需要某种不是’.tff’的格式,所以我不知道。 那你能告诉我你怎么做吗? 问题答案: 您可以使用天使代码的BMF字体工具,该工具使用带有存储字符图像的字形图像的位图字体文件,以及描述该图像文件的文本文件
问题内容: 我正在使用Swift在Xcode(7.0版)中创建游戏,并且我想在游戏结束时以字体“ gameOver.ttf”显示标签“ Game Over”。我已将字体添加到资源文件夹中。我不知道如何在我的代码中引用它。我可以帮忙吗?我的代码: 问题答案: 这些是向您的应用程序添加自定义字体的步骤: 在您的应用程序中添加“ gameOver.ttf”字体(确保它已包含在目标中) 修改applica
我正在使用Lollipop的新功能,比如coloraccent,colorPrimary,用于Lollipop制作前的设备。 styles.xml 现在我想为我的文本视图、编辑文本和按钮创建一个自定义字体。在样式中,我使用彩色口音作为白色。所以编辑文本的焦点应该是白色。查看下图以获取默认编辑文本焦点。这很好。 但每当我创建自定义字体edittext时,焦点行为就不同了。它没有显示白色。相反,它显示
@font-face跟其在CSS中作用表现一样,在后面简单地添加个块状属性即可,类似下面: @font-face font-family Geo font-style normal src url(fonts/geo_sans_light/GensansLight.ttf) .ingeo font-family Geo 生成为: @font-face { font-famil
我刚刚使用ApacheFop生成了一个PDF/X photobook,提交给照片打印服务。一切似乎都很好,但仍在继续。使用自定义衬线字体,例如“公文包”一词没有正确呈现(问题在于f-o,因为o应该在f的“头”下呈现)。例如,在Mac OS X下安装相同的字体,然后尝试文本编辑,这个词就会正确呈现。 这是我如何配置字体: 其中XML文件是通过按照FOP文档处理TTF字体实现的。该文件包含紧排对,这是