我目前正在检修我的应用程序字体以使用自定义字体。
我有一个这样的课程:
public class TextViewRobotoRegular extends TextView {
public TextViewRobotoRegular(Context context, AttributeSet attrs) {
super(context, attrs);
if (!isInEditMode()) {
setTypeface(Typefaces.get(context, "Roboto-BlackItalic"));
}
}
}
其中Typefaces.get
是指向缓存字体的方法,如果没有缓存,则创建一个新实例。
为了组织起见,我想知道是否可以为一个大类中的每个字体创建几个TextView类,类似这样
public class TextViews {
public class RobotoRegular extends TextView {
public TextViewRobotoRegular(Context context, AttributeSet attrs) {
super(context, attrs);
if (!isInEditMode()) {
setTypeface(Typefaces.get(context, "Roboto-Thin"));
}
}
}
public class RobotoThin extends TextView {
public TextViewRobotoRegular(Context context, AttributeSet attrs) {
super(context, attrs);
if (!isInEditMode()) {
setTypeface(Typefaces.get(context, "Roboto-Thin"));
}
}
}
}
我可以在xml布局文件中创建这些引用吗?类似的东西:
<com.example.appname.fontPackageName.TextViews.RobotoRegular
android:id="@+id/profileNameView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
答案 0 :(得分:1)
制作类RobotoRegular和RobotoThin 公共静态。
并像这样编辑xml:
<view class="com.example.appname.fontPackageName.TextViews$RobotoRegular"
android:id="@+id/profileNameView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />