android – 在运行时创建,存储和膨胀自定义布局

前端之家收集整理的这篇文章主要介绍了android – 在运行时创建,存储和膨胀自定义布局前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试找到解决以下问题的方法.我工作的应用程序要求用户通过自定义UI构建器生成自定义UI(简单小部件的布局).因此,用户可以在画布上堆叠小部件(大多数是图像.但TextViews和EditText),移动它们等等.
UI必须存储在数据库中以备将来使用.因此,应该有一些加载和膨胀此UI的机制.这是主要问题.

我的第一个想法是依靠标准的Android布局机制.不幸的是,LayoutInflater使用XML编译成二进制形式.据我所知,在运行时将XML字符串编译成二进制表示是不可能的.

有没有人遇到过这样的问题?有什么建议?

解决方法

查看 LayoutInflater的膨胀方法.你实际上可以给它任何XmlPullParser作为它的来源,而后者可以在给定任何Reader的情况下构建.

换句话说,您可以使用几乎任何字符流作为xml源进行充气.

XmlPullParser文档的开头为您提供了创建拉解析器的基本概要:

XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
xpp.setInput(new StringReader("<foo>Hello World!</foo>"));

更新 – 这不会起作用,如LayoutInflater文档中所述.

猜你在找的Android相关文章