繁体   English   中英

在现有TextView上方创建新的RelativeLayout

[英]Create new RelativeLayout above existing TextView

我在应用程序中已经存在的TextView上方创建新的RelativeLayout遇到问题。

我的主要布局称为contentLayout ,在其内部有一个名为addRoomButtonTextView

RelativeLayout contentLayout = (RelativeLayout) findViewById(R.id.contentLayout);
TextView addRoomButton = (TextView) findViewById(R.id.addRoomText);

我只想 TextView 上方添加一个新的RelativeLayout 所以我这样写:

RelativeLayout relativeLayout = new RelativeLayout(this);
relativeLayout.setId(R.id.roomRelativeLayout);
RelativeLayout.LayoutParams rlp = new RelativeLayout.LayoutParams(
       RelativeLayout.LayoutParams.MATCH_PARENT,
       100
);
rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP);
rlp.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
rlp.addRule(RelativeLayout.ABOVE, addRoomButton.getId());
contentLayout.addView(relativeLayout, rlp);

RelativeLayoutcontentLayout的顶部很好地创建,但是我的TextView不可见。 我认为它只是在relativeLayout后面,但我不确定...

是否有任何解决方案可将TextView放置在新的RelativeLayout下面而不创建LinearLayout或其他Layouts

您为什么不通过XML做到这一点?

layout_below=""

使用xml尝试一下您的想法。 将relativelayout和relativelayout(A)放入其中,然后放入按钮(B)。 将A设置为layout_above B并看到没有成功。 在A下方设置B,您将获得想要的效果。 因此,您需要获取按钮的getLayoutParams()并将其调整为低于新创建的布局。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM