Ank*_*iya 47 android material-design androidx
我正在为我的项目使用Androidx库,并且我想将字体设置为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"/>
Run Code Online (Sandbox Code Playgroud)
这是风格
<style name="font_work_sans_medium" parent="@android:style/TextAppearance.Small">
<item name="android:fontFamily">@font/work_sans_medium</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我也像这样以编程方式设置字体
var typeFace: Typeface? = ResourcesCompat.getFont(context, R.font.work_sans_bold)
getTitleView().setTypeface(typeFace, Typeface.NORMAL)
Run Code Online (Sandbox Code Playgroud)
仍然收到此错误
Ank*_*iya 27
对于一些研究,我发现解决方案可能对我有帮助,实际上我使用的是alpha依赖,这是不稳定所以我降级了Android的lib版本
我正在使用这种依赖
implementation 'androidx.core:core-ktx:1.1.0-alpha04'
implementation 'androidx.appcompat:appcompat:1.1.0-alpha02'
Run Code Online (Sandbox Code Playgroud)
你应该使用它代替
implementation 'androidx.core:core-ktx:1.0.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
Run Code Online (Sandbox Code Playgroud)
我从xml文件中删除了这一行,现在可以正常使用了
android:textStyle="bold"
Run Code Online (Sandbox Code Playgroud)
关于addFontWeightStyle方法,该方法在API21 Impl中引发NoSuchMethodException
只需仔细阅读堆栈跟踪-这是AndroidX的问题。似乎 androidx.core.graphics.TypefaceCompatApi21Impl()尝试通过反射addFontWeightStyle(lass java.lang.String, int, boolean)从框架内部的某个内部静态解析带有签名的方法android.graphics.FontFamily...事实证明该方法不存在。我也有同样的问题androidx.appcompat.widget.AppCompatAutoCompleteTextView。在Google修复之前,我们无能为力。
| 归档时间: |
|
| 查看次数: |
5051 次 |
| 最近记录: |