Android +动态添加布局

时间:2013-03-04 07:17:39

标签: android android-layout dynamic

我要求在屏幕上显示5张图片&单击指定图像,我将播放音乐3秒钟,然后随机进入下一个活动(或另外5个图像集)。

就像我必须随机显示16种不同的视图(16 * 5图像).....

我已经做过&非常体面地工作。

**为此,我创建了16个活动&相应的16个Xml文件。

我的问题是我可以将这16个XML文件添加到单个Activity而不是16个活动中。我刚刚听说动态添加布局到Activity.But在我的项目中,我必须更改图像集上点击正确的图像并加载新图像,点击... **

简短&简单我想在 SINGLE ACTIVITY ...

上显示来自各种资源的内容
                             (or)

最好可以参加许多活动吗?

N0te:这可能是一个简单的问题,我是谷歌搜索&在这个网站上搜索过去8天仍然没有结果。所以请帮忙....

Andd,**如果你是极客想给DOWN VOTE,请指明善意的理由.... **

3 个答案:

答案 0 :(得分:1)

您可以使用此

setContentView(R.layout.myxmlfile.xml)

在同一活动中加载另一个布局

随机加载,

获取您的第一个和最后一个布局的ID

final int first = R.layout.myfirstLayout.xml;
final int last = R.layout.myLastLayout.xml;

现在在这两个整数之间生成一个随机值。

final int random = (int)(first + (Math.Random()%last));

使用此随机方式加载您的布局

setContentView(random);

要使其正常工作,您必须通过按字母顺序命名来确保您的布局正确排序。

答案 1 :(得分:1)

使用LayoutInflater

LayoutInflater layoutInflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.dblayout, null);
setContentView(view);

答案 2 :(得分:0)

int layouts[] = { R.layout.layout1, R.layout.layout2, .... }
setRandomLayout() {
   int layout = layouts[random of layouts.length];
   setContentView(layout);
}

此外,如果所有布局看起来都相同,我建议使用一个布局,但每个图像使用不同的数据/图像。