我有一个TextView:
<TextView
android:id="@+id/digits"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="13dp"
android:translationY="5dp"
android:text=""
android:textSize="128sp"
android:textColor="@color/white"
android:fontFamily="fonts/Roboto-Thin.ttf"
/>
在我以前的gradle文件中
dependencies {
compile 'com.android.support:support-v4:19.1.0'
}
一切都很棒,TextView有正确的字体和字体。
但是,当我更改支持库版本(因此我可以使用新的SwipeToRefreshLayout)时:
dependencies {
compile 'com.android.support:support-v4:21.0.2'
}
然后我的TextView没有应用Robot Thin字体,文本是粗体。
它是如何以这种方式工作的?我认为只有Roboto-Thin存在问题,因为其他具有Roboto-Regular的TextView正常工作。任何想法的家伙?
答案 0 :(得分:-2)
创建自定义TextView类
public class CustomTextView extends TextView {
public CustomTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
init();
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomTextView(Context context) {
super(context);
init();
}
public void init() {
if (!isInEditMode()) {
Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Thin.ttf");
setTypeface(tf, 1);
}
}
public void setNewText(CharSequence text) {
// code to check text for null omitted
super.setText(text, BufferType.SPANNABLE);
}
}
在此之后,更改您的
<TextView
到
<CustomTextView
更好地解决此错误