我对Android Studio相对较新,我开始探索更多Android Navigation Drawer活动。我一直在尝试从片段类中更改textview的字体类型,我不能。我在这里尝试了许多不同的解决方案,但没有一个能够工作。在图片中,您可以看到我最近的尝试。
In this image you can see the last code I tried to change the font from the fragment class
答案 0 :(得分:0)
创建一个类并为其命名,该类将扩展TextView,该类将加载该字体。此外,您可以在xml本身中使用该字体。 像这样:
public class CustomEditTextGEFlowBook extends android.support.v7.widget.AppCompatEditText {
public CustomEditTextGEFlowBook(Context context) {
super(context);if(!isInEditMode())
setFont(context);
}
public CustomEditTextGEFlowBook(Context context, AttributeSet attrs) {
super(context, attrs);if(!isInEditMode())
setFont(context);
}
public CustomEditTextGEFlowBook(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);if(!isInEditMode())
setFont(context);
}
private void setFont(Context context) {
Typeface font = Typeface.createFromAsset(getContext().getAssets(),
"GOTHAM-BOOK.OTF");
setTypeface(font);
}
}
现在从你的xml中,使用你的TextView或EditText。
<com.packageName.CustomEditTextGEFlowBook
android:id="@+id/radioOthers"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:hint="Mention the Issue"
android:maxLength="50" />
答案 1 :(得分:0)
验证是否正确提及字体相对路径。
答案 2 :(得分:0)
我刚刚检查了你的代码,它对我来说没问题。但是,有一处改变,请改变您的代码
return inflater.inflate(R.layout.fragment_main, container, false);
到
return rootView;
还要确保提供了正确的字体名称
答案 3 :(得分:0)
我使用此Library,它在所有设备上都非常出色
步骤: -
1)在您的gradle compile 'com.github.balrampandey19:FontOnText:0.0.1'
如果缺少此行,请将其添加到您的gradle中: -
allprojects {
repositories {
maven { url "https://jitpack.io" }
}
}
2)在您的资产文件夹中添加您的字体
3)然后用
替换xml中的视图<com.balram.library.FotTextView
android:id="@+id/vno_tv"
.
.
android:textSize="14sp"
app:font="regular.ttf" />
此行对于设置您想要的自定义字体app:font="regular.ttf"
您可以对Buttons
Edittext
或
如果您想在整个应用程序中使用相同的“字体”,可以按照此 Guide here
进行操作