Android:如何序列化字体

时间:2017-08-28 01:15:18

标签: java android serialization android-typeface

我希望通过Typeface(更具体地说是一个包含IntentTypeface的类)过去Intent但是因为该课程不是&{ #39; t Serializable。我尝试创建一个像这样的容器类:

public class SerializableTypeface extends Typeface implments Serializable {

}

但是因为Typeface没有默认构造函数而出错。但是当查找要放入构造函数的参数时,我找不到Typeface的任何构造函数。

那么如何序列化Typeface

2 个答案:

答案 0 :(得分:0)

实现此目的的另一种方法是将字体名称存储为字符串并在"另一侧"上解析它。

例如:

String typefaceName;

Typeface font = Typeface.createFromAsset(getContext().getAssets(), typefaceName);

答案 1 :(得分:0)

Typeface没有任何公共或受保护的构造函数。唯一的构造函数是private,因此您无法扩展Typeface类。

一种可能性是将Typeface实例作为transient字段存储在对象中,并另外存储生成Typeface所需的信息。这些字段可以被分区/序列化,Typeface可以根据需要延迟加载。