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