imageview设置在最顶层_如何在约束布局中动态设置ImageView的位置

通过使用ConstraintSet,您可以编程方式定义ImageView的约束,使其在屏幕中央居中。首先,克隆现有的ConstraintLayout约束,然后添加新的ImageView并设置其ID和资源。接着,使用ConstraintSet的`constrainWidth`和`constrainHeight`方法指定宽度和高度,再使用`center`方法使其在水平和垂直方向上居中。最后,将这些约束应用到布局上。
摘要由CSDN通过智能技术生成

您将需要使用应用于ImageView的ConstraintSet来居中。 ConstraintSet的文档可以在here找到。

该类允许您以编程方式定义与ConstraintLayout一起使用的一组约束。它允许您创建和保存约束,并将它们应用于现有的ConstraintLayout。 ConstraintsSet可以以各种方式创建...

也许这里最棘手的事情是视图如何居中。对中技术的一个很好的描述是here。

对于你的榜样,下面的代码就足够了:

// Get existing constraints into a ConstraintSet

ConstraintSet constraints = new ConstraintSet();

constraints.clone(layout);

// Define our ImageView and add it to layout

ImageView imageView = new ImageView(this);

imageView.setId(View.generateViewId());

imageView.setImageResource(R.drawable.redlight);

layout.addView(imageView);

// Now constrain the ImageView so it is centered on the screen.

// There is also a "center" method that can be used here.

constraints.constrainWidth(imageView.getId(), ConstraintSet.WRAP_CONTENT);

constraints.constrainHeight(imageView.getId(), ConstraintSet.WRAP_CONTENT);

constraints.center(imageView.getId(), ConstraintSet.PARENT_ID, ConstraintSet.LEFT,

0, ConstraintSet.PARENT_ID, ConstraintSet.RIGHT, 0, 0.5f);

constraints.center(imageView.getId(), ConstraintSet.PARENT_ID, ConstraintSet.TOP,

0, ConstraintSet.PARENT_ID, ConstraintSet.BOTTOM, 0, 0.5f);

constraints.applyTo(layout);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值