2017-04-16 54 views
0

我正在使用ConstraintLayout以編程方式創建視圖,並且我想設置我的父按鈕視圖topTotop和parent.how的leftToleft可以這樣做嗎?如何在ConstraintLayout中訪問父項

非常感謝。

我的代碼如下:

Button button = new Button(MainActivity.this); 
    ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(widthInt, heightInt); 

       params.topToTop = // I want to set it parent 
       params.leftToLeft = // I want to set it parent 
       params.setMargins(marginStartint , marginTopInt , 0 , 0); 
       button.setLayoutParams(params); 

回答

5

您可以使用PARENT_ID

使你的代碼變得

params.topToTop = ConstraintLayout.LayoutParams.PARENT_ID; 
params.leftToLeft = ConstraintLayout.LayoutParams.PARENT_ID; 
+0

非常感謝你的簡單和正確的答案 – Ehsan

0

您可以使用ConstraintSetConnect方法來執行這樣的操作。有PARENT_ID引用父母的ID。

ConstraintLayout layout = (ConstraintLayout)fndViewById(R.id.mainConstraint); 
ConstraintSet set = new ConstraintSet(); 
set.clone(layout); 
set.connect(view.getId(), ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP, 0); 
//view refers to the view's constraint to be changed 
set.applyTo(layout); 

連接

空隙連接(INT startID, INT startSide, INT endID所, INT endSide, INT餘量)

創建兩個小部件之間的約束。

+0

謝謝你的回答,這個作品太:) – Ehsan