我有一个简单的布局:一个固定高度的TextView,其中三个ImageView对象锚定在视图的底部。
如何以编程方式更改每个ImageView的高度,使它们在某个范围内变化(10dp,低于TextView 16dp)?具体来说,我的活动得到一个百分比列表(介于0和1之间),表示每个" bar"应该接受。
我尝试了以下但没有成功:
// No visible difference
imgView.setMinHeight(newHeight);
// No change to height, but horizontal constrained was messed up
imgView.setLayoutParams(new LayoutParam(imgView.getWidth(), newHeight);
答案 0 :(得分:18)
如果是"身高"你的意思是render() {
// Don't forget to return a value in a switch statement
return (
<div>
{(() => {
switch(...) {}
})()}
</div>
);
}
的绝对顶部到底部尺寸,你可以做以下几倍加倍ImageView
的高度。您可以将高度设置为所需的值。
ImageView
请参阅ConstraintLayout.LayoutParams。
但是,如果通过&#34;身高&#34;您的意思是ImageView iv = (ImageView) findViewById(R.id.imageView);
ConstraintLayout.LayoutParams lp = (ConstraintLayout.LayoutParams) iv.getLayoutParams();
lp.height = lp.height * 2;
iv.setLayoutParams(lp);
的垂直位置,您可以执行以下操作来更改ImageView
的垂直偏差(假设您使用的是ImageView
):
ConstraintLaytout
请参阅setVerticalBias。
还有其他方法可以移动ConstraintSet cs = new ConstraintSet();
ConstraintLayout layout = (ConstraintLayout) findViewById(R.id.layout);
cs.clone(layout);
cs.setVerticalBias(R.id.imageView, 0.25f);
cs.applyTo(layout);
布局,但这取决于布局的设置方式。