Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何动态修改Android布局XML_Android_Android Layout - Fatal编程技术网

如何动态修改Android布局XML

如何动态修改Android布局XML,android,android-layout,Android,Android Layout,我是android开发新手,我将开发一个android应用程序。在这个应用程序中,我想动态生成xml布局。登录到应用程序后,服务器将发送包含控件描述的xml模板,包括每个控件上的不同属性描述验证、maxlength、控件大小等,这意味着没有预定义的xml布局 我的计划是,从下载的xml模板中创建一个xml布局,并将该xml存储在sqlite数据库中。当用户单击一条记录时,我想向用户显示这个动态创建的表单 是否可以修改xml layoutlike设置innerxml?您可以尝试以下操作: Layo

我是android开发新手,我将开发一个android应用程序。在这个应用程序中,我想动态生成xml布局。登录到应用程序后,服务器将发送包含控件描述的xml模板,包括每个控件上的不同属性描述验证、maxlength、控件大小等,这意味着没有预定义的xml布局

我的计划是,从下载的xml模板中创建一个xml布局,并将该xml存储在sqlite数据库中。当用户单击一条记录时,我想向用户显示这个动态创建的表单


是否可以修改xml layoutlike设置innerxml?

您可以尝试以下操作:

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View myView = inflater.inflate(myXmlPullParser, null);

setContentView(myView);

你可以试试这样的方法:

LayoutInflater inflater = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View myView = inflater.inflate(myXmlPullParser, null);

setContentView(myView);

这是可能的。使用一个仅具有线性布局的xml布局,在onCreate中访问id为的布局,以编程方式创建所有视图,并将其添加到线性布局中作为子视图,然后将该xml布局设置为setContentView。
稍后,您希望在创建视图后添加更多视图。您可以运行UI线程并添加视图。

这是可能的。选择一个仅具有线性布局的xml布局,然后在onCreate中访问具有id的布局,以编程方式创建所有视图,并将其作为子视图添加到线性布局,然后将该xml布局设置为setContentView。 稍后,如果要在创建视图后添加更多视图,可以运行UI线程并添加视图。

基于:

出于性能原因,视图膨胀在很大程度上依赖于在构建时完成的XML文件的预处理。因此,目前不可能在运行时将LayoutInflater与XmlPullParser一起用于普通XML文件

如果版面不在layout res目录内,则无法对其进行充气。

基于:

出于性能原因,视图膨胀在很大程度上依赖于在构建时完成的XML文件的预处理。因此,目前不可能在运行时将LayoutInflater与XmlPullParser一起用于普通XML文件


如果布局不在layout res目录中,则无法对其进行充气。

我认为,与其动态创建xml,不如考虑通过编程方式创建所需的视图,
如果它是一个高级视图,那么您应该按照WalkingCube的建议,动态地膨胀xml视图

我认为,与其动态创建xml,不如考虑通过编程方式创建所需的视图,
如果它是一个高级视图,那么您应该按照WalkingCube的建议,动态地膨胀xml视图

Android不完全支持您的工作方式,但您可以动态构建自己的布局

创建自己的TemplateBuilder类。此类将从服务器检索布局文件,并可能将其保存在数据库中。可以读取XML文件,并且可以在运行时添加每个定义的项。如前所述,这不是在Android中工作的传统方式,但它将是您的最佳选择

如果某些视图组或布局将在布局中更频繁地使用,则可以将它们定义为res文件夹中的XML文件,并在需要时对其进行充气。创建预定义的布局块,您可以随时充气,并真正建立您的自定义布局

有关在运行时添加视图的示例,您可以访问以下链接:
Android不完全支持您的工作方式,但您可以动态构建自己的布局

创建自己的TemplateBuilder类。此类将从服务器检索布局文件,并可能将其保存在数据库中。可以读取XML文件,并且可以在运行时添加每个定义的项。如前所述,这不是在Android中工作的传统方式,但它将是您的最佳选择

如果某些视图组或布局将在布局中更频繁地使用,则可以将它们定义为res文件夹中的XML文件,并在需要时对其进行充气。创建预定义的布局块,您可以随时充气,并真正建立您的自定义布局

有关在运行时添加视图的示例,您可以访问以下链接:

如果坚持这样做,则必须在程序中解析接收到的xml文件,并根据接收到的文件中请求的方式以编程方式添加xml布局的每个视图

如果坚持这样做,则必须解析接收到的xml文件,在您的程序中,根据收到的文件中的请求以编程方式添加xml布局的每个视图

使用html页面从服务器加载动态视图。web服务只是发送一个模板xml。登录并下载此模板后,该应用程序还应在脱机模式下工作使用html页面从服务器加载动态视图。web服务只是发送一个模板xml。登录并下载此模板后,该应用程序也应在脱机模式下工作。目录中将有一个布局文件。是否可以
是否能够使用该布局文件的新创建布局动态更改innerxmlreplace???您需要首先膨胀innerxml。要做到这一点,你需要更平、更充气。但是,此方法不接受动态加载。它必须来自res文件夹。我的结论是:您仍然不能这样做。@user922834是否可以用该布局文件的新创建的布局动态更改innerxmlreplace??-不因为它是编译的。在res目录中将有一个布局文件。是否可以用该布局文件的新创建的布局动态更改innerxmlreplace???您需要首先膨胀innerxml。要做到这一点,你需要更平、更充气。但是,此方法不接受动态加载。它必须来自res文件夹。我的结论是:您仍然不能这样做。@user922834是否可以用该布局文件的新创建的布局动态更改innerxmlreplace??-不因为它是编译的。