【发布时间】:2021-05-01 03:29:37
【问题描述】:
所以我在 for 循环中创建了一些 CardView,我想在每个 CardView 的底部添加一个按钮。
我正在像这样设置 CardView 的 LayoutParams
RelativeLayout.LayoutParams params4 = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
height
);
cardview.setLayoutParams(params4);
并为按钮创建一组新参数
RelativeLayout.LayoutParams params20 = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.MATCH_PARENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
像这样添加 align to bottom 规则,然后将这些参数设置为 Button 的 LayoutParams
params20.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
search.setLayoutParams(params20);
最后我将按钮添加到 CardView
cardView.addView(search);
但是这样做,按钮总是停留在顶部。当记录 CardViews 和 Button 的父级时,父级是预期的当前 CardView
使用 2 个 CardView 记录:
2021-01-27 10:15:45.843 7764-7764/lenno.plugin.smartplaner E/deine: cardview: androidx.cardview.widget.CardView{d12f026 VFE...CL. ......I. 0,0-0,0 #1}........id: 1
2021-01-27 10:15:45.843 7764-7764/lenno.plugin.smartplaner E/deine1: parent: androidx.cardview.widget.CardView{d12f026 VFE...CL. ......I. 0,0-0,0 #1}
2021-01-27 10:15:45.855 7764-7764/lenno.plugin.smartplaner E/deine: cardview: androidx.cardview.widget.CardView{ee5dc0a VFE...CL. ......I. 0,0-0,0 #2}........id: 2
2021-01-27 10:15:45.856 7764-7764/lenno.plugin.smartplaner E/deine1: parent: androidx.cardview.widget.CardView{ee5dc0a VFE...CL. ......I. 0,0-0,0 #2}
我已经尝试像这样将 params20 的锚点显式设置为父 CardView
params20.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, cardView.getId());
这也不起作用。也许我做错了什么(我刚开始以编程方式创建布局)但我目前不知道该怎么做。
提前感谢您的回答!
【问题讨论】:
标签: android android-relativelayout layoutparams