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

时间:2017-06-07 05:46:09

标签: android android-fragments navigation-drawer android-navigation-drawer

我对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

4 个答案:

答案 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

进行操作