[英]FrameLayout layout_weight programmatically
I'm trying to create a FrameLayout
programmatically as follows(this view will float on the the bottom center of a LinearLayout
): 我正在尝试以编程方式创建一个
FrameLayout
,如下所示(此视图将浮动在LinearLayout
的底部中心):
FrameLayout bottomFrameLayout = new FrameLayout(context);
bottomFrameLayout.setLayoutParams(new FrameLayout.LayoutParams(0,LayoutParams.FILL_PARENT,Gravity.CENTER | Gravity.BOTTOM));
Since I set layout_width=0dp
, I would like to also set layout_weight
to control the width. 由于我设置
layout_width=0dp
,我还想设置layout_weight
来控制宽度。 How can I do that? 我怎样才能做到这一点?
You need to use LinearLayout.LayoutParams (int width, int height, float weight)
constructor since FrameLayout
is child of LinearLayout
therefore you are setting params for child in LinearLayout
. 您需要使用
LinearLayout.LayoutParams (int width, int height, float weight)
构造函数,因为FrameLayout
是LinearLayout
子项,因此您在LinearLayout
为子项设置params。
Edit: 编辑:
FrameLayout bottomFrameLayout = new FrameLayout(context);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(0,LayoutParams.FILL_PARENT,mWeight);
lp.gravity = Gravity.CENTER | Gravity.BOTTOM;
bottomFrameLayout.setLayoutParams(lp);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.