【发布时间】:2019-07-09 12:57:54
【问题描述】:
我正在为我的项目使用 Androidx 库,并且我想将 font 设置为 textview,所以当我应用任何字体时除了系统给我的任何 Textview 组件
TypefaceCompatApi21Impl: java.lang.NoSuchMethodException java.lang.NoSuchMethodException: addFontWeightStyle [class java.lang.String, int, boolean]
这种类型的运行时错误,但应用程序没有崩溃。
那么如何克服这个错误。
注意:它可以在没有 android x 依赖的情况下正常工作。
在我的代码下面:
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/menu_tv_title"
style="@style/font_work_sans_medium"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:maxLines="1"
android:ellipsize="end"
android:paddingEnd="@dimen/_12sdp"
android:paddingStart="@dimen/_12sdp"
android:textColor="@android:color/black"
android:textSize="17sp"
android:gravity="center"
tools:text="title"
tools:visibility="gone"/>
这里是风格
<style name="font_work_sans_medium" parent="@android:style/TextAppearance.Small">
<item name="android:fontFamily">@font/work_sans_medium</item>
</style>
我也像这样以编程方式设置字体
var typeFace: Typeface? = ResourcesCompat.getFont(context, R.font.work_sans_bold)
getTitleView().setTypeface(typeFace, Typeface.NORMAL)
仍然出现此错误
【问题讨论】:
-
我也遇到了同样的问题。
-
我目前遇到错误,但它源于我对
setContentView(R.layout.x)的调用
标签: android material-design androidx