添加的视图显示在屏幕顶部

时间:2011-10-24 20:14:56

标签: android xml

我一直在尝试在onClick上添加多个textview和按钮,这是我发现的最佳代码实际上有效:

    RelativeLayout relative = (RelativeLayout) findViewById(R.id.RelativeLayout01);
    LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
            (LayoutParams.WRAP_CONTENT), (LayoutParams.WRAP_CONTENT));

    TextView tv = new TextView(getApplicationContext());
    tv.setLayoutParams(lp);
    tv.setText("Shift" + mShiftCount);

    EditText edittv = new EditText(getApplicationContext());
    edittv.setLayoutParams(lp);

    relative.addView(tv);
    relative.addView(edittv);

这似乎是添加其他项目的最佳代码,这些项目与我在main.XML文件中已有的项目相似。 我的问题是,当添加它们时,它们出现在屏幕的顶部,我不确定如何向对象添加更多参数。 我如何将textview和edittext放在XML中指定的其他元素下面?

2 个答案:

答案 0 :(得分:0)

当您向RelativeLayout.LayoutParams添加tv和edittv等视图时,您需要创建一个RelativeLayout(请参阅here)。在RelativeLayout.LayoutParams中,您需要定义与其他RelativeLayout对象相同的参数。这是一个例子:

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.idOfWhatYouWantToBeBelowOf);
addView(tv, params);

答案 1 :(得分:0)

首先,您的视图和一些动态组件肯定会有一些静态组件。你可以指定一下你的布局文件是什么,这样我就可以在你的应用程序中给你更详细的信息。