繁体   English   中英

无法以编程方式在其父布局中对齐中心自定义线性布局

[英]Cannot align center custom linear layout inside its parent layout programmatically

我有一个自定义的线性布局,这是一条红色路径,如我在下面的链接中所附加的图像中所示,该文本包含一个textview和一个按钮。 我想通过使红色路径与父项匹配来使文本和按钮在灰色路径内居中,但我无法实现这一点。 我过去通过设置布局参数以匹配父级并以编程方式设置重心以使这些元素居中来尝试多种方法。 但是这些方法不起作用。 在此处输入图片说明

这是我的代码示例:

val layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)
layoutParams.gravity = Gravity.CENTER
grayLayout.addView(redLayout)
grayLayout.layoutParams = layoutParams

任何帮助我的线索。 提前致谢。

不要对2个不同的对象重复使用相同的布局参数。 为每个对象创建一个新的布局参数。

layoutParams.gravity = Gravity.CENTER 

设置布局中包含视图的重力。
因此,如果您想将灰色布局放在红色布局的中心
将此属性应用于红色布局。
您也可以在xml中执行此操作:

android:gravity="center"

我已经找到了答案,我忘了以编程方式将layoutParams设置为redLayout,我只在xml文件中进行了设置。 由于红色布局是自定义布局,因此除非我们通过编程方式设置,否则在XML中设置match_parent无效。 感谢大家抽出宝贵时间来提出这个问题。

暂无
暂无

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

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