gpt4 book ai didi

android - 通过android :fontFamily to custom view in Android

转载 作者:行者123 更新时间:2023-12-02 13:03:13 32 4
gpt4 key购买 nike

如何在 res/font 中传递字体系列文件夹,例如@font/roboto_medium , 作为 XML 中 Android 中自定义 View 的属性,然后在自定义 View 中将其读入 Typeface目的?这是对文本进行自定义图形渲染所必需的。

例如:

<MyCustomView android:fontFamily="@font/roboto_medium"/>

然后在 MyCustomView.kt 中:
override fun onCreateView(...) {

// parse android:fontFamily attribute into Typeface object
val typeface: Typeface = ???

}

没有 Typeface功能似乎支持这一点。其中一个接受 assets 中的自定义字体。文件夹,另一个接受直接嵌入在 Java/Kotlin 代码中的资源字体整数,例如 R.font.roboto_medium .

最佳答案

doohickey_maker 的答案确实有效。

在 layout.xml 你需要添加 android:fontFamily="@font/name"
在 attrs.xml

<declare-styleable name="LoadingButton">
<attr name="android:fontFamily" />

在自定义 View 中
   int fontFamilyId = typedArray.getResourceId(R.styleable.LoadingButton_android_fontFamily, 0);
if (fontFamilyId > 0) {
mButton.setTypeface(ResourcesCompat.getFont(getContext(), fontFamilyId));
}

关于android - 通过android :fontFamily to custom view in Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61296559/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com