是否可以根据它的名称实例化布局?

时间:2015-11-16 11:17:38

标签: android layout

我想创建一个框架,在运行时“构建”应用程序结构和表示视图的一部分,解析一些配置文件。 我想知道的是,如果有一种方法,我可以引用布局并基于名称实例化它而不创建地图。 例如,改为使用简单:

ViewGroup layout = (ViewGroup) findViewWithId(R.id.layout1);

做更多的事情:

String name = Config.getLayout1();  
ViewGroup layout = getLayoutByName(name);

1 个答案:

答案 0 :(得分:1)

当您按R.id.layout1进行布局时,它实际上首先获取它的资源ID并将其传递给findViewWithID

因此,您可以自己找到该ID并将其发送给findViewWithId函数。

您可以这样做:

String layoutName = "layout1";
int resID = context.getResources().getIdentifier(layoutName, "layout", context.getPackageName());

然后得到实际的观点:

ViewGroup layout = (ViewGroup) findViewWithId(resID);