如何以编程方式生成的XML转储

时间:2014-04-19 07:37:47

标签: android xml view

是否有任何可能的方法来转储以编程方式生成的布局?

例如我创建布局

LinearLayout mainLayout = new LinearLayout(this.mContext);

//...some code here

mainLayout.addView(picker);
mainLayout.addView(mOldColor);
mainLayout.addView(separator);
mainLayout.addView(mNewColor);

现在如何转储到Lod.d,例如获取带属性的Layout的XML表示?

1 个答案:

答案 0 :(得分:0)

不敢。视图本身对它们来自的xml一无所知,因此无法强制它们序列化回xml。

现在,如果你想自己做,你可以很容易地走一个视图层次结构。但由于视图不会转换为xml,因此您必须单独查询每个属性并手动构建xml。对于可能具有自定义属性的自定义视图,它根本不起作用。而且你必须使用反射来获取xml中视图类型的类名。基本上很多工作都是相当脆弱的。