Android 从片段类以编程方式更改textview属性

Android 从片段类以编程方式更改textview属性,android,android-fragments,navigation-drawer,Android,Android Fragments,Navigation Drawer,我对Android Studio比较陌生,我开始探索更多的Android导航抽屉活动。我一直在尝试从片段类更改textview的字体类型,但我就是做不到。我在这里尝试了许多不同的解决方案,但没有一个有效。在图中,你可以看到我的最新尝试 创建一个类,并根据需要命名它,该类将扩展TextView,该类将加载字体。此外,您还可以在xml本身中使用该字体。 像这样: public class CustomEditTextGEFlowBook extends android.support.v7.widg

我对Android Studio比较陌生,我开始探索更多的Android导航抽屉活动。我一直在尝试从片段类更改textview的字体类型,但我就是做不到。我在这里尝试了许多不同的解决方案,但没有一个有效。在图中,你可以看到我的最新尝试


创建一个类,并根据需要命名它,该类将扩展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。



验证是否正确提及字体相对路径

我刚检查了你的代码,我觉得没问题。不过有一个改变,就是从

return inflater.inflate(R.layout.fragment_main, container, false);  

另外,请确保您提供了正确的字体名称

我使用它,它在所有设备上都非常有效

步骤:-

1) 在gradle
compile'com.github.balrampandey19:FontOnText:0.0.1'中添加此行

如果缺少此行,请将其添加到渐变中:-

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”

对于
按钮
编辑文本


如果要使用相同的“字体”在整个应用程序中,您可以遵循以下内容

显示项目结构?字体文件夹是否在资产文件夹中?在onViewCreatedI中尝试相同的内容可以肯定地说它被正确提及,因为它在主要活动中工作得很好我尝试使用此类结构创建自定义TextView,但是每当我在XML文件中使用它时,程序就会崩溃。你能给我看一下日志吗。您遇到了什么错误。每当我尝试将该行添加到gradle时,我都会收到以下错误消息:错误:(31,13)无法解决:com.github.balrampandey19:FontOnText:0.0.1我已编辑了我的答案,我认为您在gradle中缺少了一些行,请从新答案中添加它们。如果您的问题得到解决,您可以投票支持我的答案,因为它会帮助其他人:-)我尝试了你的新修改。。。我没有工作,我错了。。。我在错误的地方加了一行。成功了。我把它标为正确答案。感谢你改变了这一点,但这也不能解决问题。
allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}
<com.balram.library.FotTextView
                    android:id="@+id/vno_tv"
                    .
                    .
                    android:textSize="14sp"
                    app:font="regular.ttf" />