【问题标题】:Android ConstraintLayout in java code set the percentage of sides ImageView objectjava代码中Android ConstraintLayout设置ImageView对象边的百分比
【发布时间】:2020-07-08 13:17:30
【问题描述】:

屏幕:

大家下午好。我想将图像设置为相对于父容器的 ImageView 大小作为百分比。但是图片的大小没有变化。

ConstraintLayout constraintLayout = new ConstraintLayout(this);
constraintLayout.setId(View.generateViewId());

ConstraintSet set = new ConstraintSet();

ImageView contactUs = new ImageView(this);
contactUs.setImageResource(R.drawable.rezgoriz);
contactUs.setId(View.generateViewId());
constraintLayout.addView(contactUs, 0);

set.clone(constraintLayout);

set.constrainPercentHeight(constraintLayout.getId(), 20);
set.constrainPercentWidth(constraintLayout.getId(), 20);

set.applyTo(constraintLayout);

setContentView(constraintLayout);

如果有任何帮助,我将不胜感激。如果有人知道一个出版物,其中非常详细地介绍了如何在ConstraintLayout 中进行编程并附有很好的示例,我也将不胜感激。

【问题讨论】:

标签: java android android-imageview android-constraintlayout


【解决方案1】:

您希望 ImageViewConstraintLayout 的 高度和宽度的百分比,因此您需要定位 ImageView (contactus ) 而不是 ConstraintLayout。设置的值也需要是 20% 的浮点数或0.2f

set.constrainPercentHeight(contactUs.getId(), 0.2f);
set.constrainPercentWidth(contactUs.getId(), 0.2f);

【讨论】:

  • Cheticamp, developer.android.com/reference/androidx/constraintlayout/…, 将视图的高度设置为父视图的百分比。
  • @PvlPa 没错,但哪个是子视图,哪个是父视图?我说 ImageView 是子视图,而 ConstraintLayout 是父视图,所以它是set.constrainPercentHeight(contactUs.getId(), 0.2f) 而不是你所拥有的。我在这里错过了什么吗?
  • 您的尺寸取自子视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多