以下是一些示例代码Fragment
,可以帮助您入门:
记得添加gson-adapter
到build.gradle
您的应用程序的文件中。
dependencies {
compile 'com.github.flipkart-incubator.proteus:gson-adapter:5.0.0-rc12'
}
在您的 Fragment 中,根据以下内容添加和修改:
// some private fields in the fragment
private Proteus proteus;
private ProteusContext context;
private ProteusLayoutInflater layoutInflater;
private Gson gson;
public void onAttach (Activity activity) {
// create a new instance of the proteus type adapter
// for gson and register it with gson.
ProteusTypeAdapterFactory adapter = new ProteusTypeAdapterFactory(activity);
gson = new GsonBuilder().registerTypeAdapterFactory(adapter).create();
// create a new instance of proteus from the builder
proteus = new ProteusBuilder().build();
// get a new context object from proteus
context = proteus.createContextBuilder(activity).build();
// this context object has the proteus layout inflater
layoutInflater = context.getInflater();
// set the instance of proteus
ProteusTypeAdapterFactory.PROTEUS_INSTANCE_HOLDER.setProteus(proteus);
}
public ProteusContext getContext() {
return context;
}
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String layoutString = loadJSONFromAsset(getContext());
// use gson to deserialize the string into a Layout object.
Layout layout = gson.fromJson(layoutString, Layout.class);
// the use the proteus layout inflater to inflate a new proteus view
ProteusView view = layoutInflater.inflate(layout, new ObjectValue());
return view.getAsView();
}
这本质上是一个工作示例,有很多改进和改进的空间。您应该前往 git 存储库,克隆它,使用演示应用程序并查看ProteusActivity的代码以获取参考实现。