簡體   English   中英

如何以編程方式在約束布局中添加左右邊距

[英]How to add left and right margins in constraint layout programatically

我已經以編程方式創建了圖像視圖,並將其添加到約束布局中。 現在,我想從imageView.左側和右側添加邊距imageView.

這就是我所做的。

ImageView imageView = new ImageView(this);
imageView.setId(View.generateViewId());
constraintLayout.addView(imageView);

//Convert DP to PX
int margin = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 
                                             10,
                                             getResources().getDisplayMetrics());

//Loading image from URL by using Picasso.        
Picasso.with(getApplicationContext())
       .load(imageURL)
       .placeholder(R.drawable.card_loading)
       .fit()
       .centerCrop()
       .into(imageView);

imageView.setAdjustViewBounds(true);

//Created Constraint Set.
ConstraintSet set = new ConstraintSet();
set.clone(constraintLayout);      
set.constrainWidth(imageView.getId(), ConstraintSet.MATCH_CONSTRAINT);

set.connect(imageView.getId(), ConstraintSet.TOP, eventsViewPager.getId(), ConstraintSet.BOTTOM, margin);

set.connect(imageView.getId(), ConstraintSet.LEFT, ConstraintSet.PARENT_ID, ConstraintSet.LEFT, margin);

set.connect(imageView.getId(), ConstraintSet.RIGHT, ConstraintSet.PARENT_ID, ConstraintSet.RIGHT, margin); 

現在的問題是,它從頂部開始創建邊距,但是沒有從左邊和右邊添加邊距。

嘗試使用ConstraintSet.STARTConstraintSet.END代替ConstraintSet.LEFTConstraintSet.RIGHT 這應該可以解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM