Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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 添加的视图显示在屏幕顶部_Android_Xml - Fatal编程技术网

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

Android 添加的视图显示在屏幕顶部,android,xml,Android,Xml,我一直在尝试在onClick时添加多个文本视图和按钮,这是我发现的最有效的代码: RelativeLayout relative = (RelativeLayout) findViewById(R.id.RelativeLayout01); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( (LayoutParams.WRAP_CONTENT), (LayoutParams.WRAP

我一直在尝试在onClick时添加多个文本视图和按钮,这是我发现的最有效的代码:

    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中指定的其他元素下面?

您需要做的是创建一个RelativeLayout.LayoutParams在将tv和edittv等视图添加到RelativeLayout时引用。在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);

首先,视图中肯定有一些静态组件和一些动态组件。请您指定什么是您的布局文件,以便我可以在您的应用程序中为您提供更详细的信息

真管用!谢谢我还有一个问题,如何使编辑文本显示在文本视图下面?这不起作用:“RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParamsRelativeLayout.LayoutParams.WRAP_内容,RelativeLayout.LayoutParams.WRAP_内容;params.addRuleRelativeLayout.down,R.id.syncCalendar;tv.setlayoutparams;RelativeLayout.LayoutParams params2=新的RelativeLayout.LayoutParamsRelativeLayout.LayoutParams.WRAP_内容,RelativeLayout.LayoutParams.WRAP_内容;params2.addRuleRelativeLayout.down,tv;'只需执行tv.setId123或一些随机数,就可以为tv对象提供id。然后在布局参数中只使用123作为id号。如果你觉得这个答案有用,记得接受它!很好用!非常感谢,我以为我在这里浪费了一整晚,但这解决了我的问题:。我的main.xml有一个线性布局、一个滚动视图、一个相对视图,然后是大量的文本视图、按钮、EditTextX和AutoCompleteTextView。