如何在Android中最好地表示和解析应用程序的树结构

时间:2016-09-11 12:40:45

标签: android

我有一个包含单个活动的应用程序。该活动包含一组按钮,这些按钮可以表示指向一组新按钮的链接(让我们调用这些按钮var givenName = User.GetClaimValue(ClaimTypes.GivenName); var identifier = User.GetClaimValue(ClaimTypes.NameIdentifier); )或最终按钮(点击后,将执行操作;我们称他们为SectionButton s)。 ActionButtonSectionButton都扩展了基类ActionButton

启动应用程序时,活动会显示一组AppButton秒。如果单击AppButton,活动将显示与新部分对应的按钮,而不是当前显示的按钮。这组新按钮可能包含其他SectionButtonSectionButton s。

每个部分包含大约六个按钮,并且有许多不同的部分。因此,应用程序的结构是在启动应用程序时显示哪些按钮,在单击ActionButton时显示哪些按钮,以及在单击SectionButton时需要执行哪些操作。< / p>

目前,我有一个我希望在TXT中记录的结构,例如:

ActionButton

然后我按照该规范以编程方式创建结构。这样做带来的不便之处在于添加新的部分或新按钮需要以不那么直接的方式修改代码,并且文档和代码可能不同步。

我想在XML之类的东西中定义该结构,然后可以以编程方式解析。这样,向特定部分添加新的部分或按钮就是修改XML,而不必深入研究代码,一切都更清晰。

// Main section // | // +--Temperature // | | // | +--Too cold // | | // | +--Too hot // | // +--Vision & sound // | | // | +--Too loud // | | // | +--Can't hear // | | // | +--Can't see // | // +--Body // | // +--Pain // | | // | +--Head // | | // | +--Arms // | | // | +--Legs // | // +--Itch // | // +--Head // | // +--Arms // | // +--Legs 由图像(定义为Android资源),部分名称(定义为Android资源)和一组子按钮(可以是SectionButton定义s或SectionButton s)。

ActionButton由图像(定义为Android资源),动作名称(定义为Android资源)和内部字符串(定义为Android资源)定义。

最好的方法是什么,因为我需要引用Android资源,例如来自ActionButton的图片和来自res/drawable的字符串?我应该使用哪种工具进行解析?我很欣赏代表上述示例结构(部分)的示例文档以及一些演示代码(如果可能的话)。

1 个答案:

答案 0 :(得分:0)

看起来你需要的是从代码构建声明性UI。 听起来像Anko可以帮助您解决这个用例。