是否有任何可能的方法来转储以编程方式生成的布局?
例如我创建布局
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表示?
答案 0 :(得分:0)
不敢。视图本身对它们来自的xml一无所知,因此无法强制它们序列化回xml。
现在,如果你想自己做,你可以很容易地走一个视图层次结构。但由于视图不会转换为xml,因此您必须单独查询每个属性并手动构建xml。对于可能具有自定义属性的自定义视图,它根本不起作用。而且你必须使用反射来获取xml中视图类型的类名。基本上很多工作都是相当脆弱的。