簡體   English   中英

Android ConstraintLayout以編程方式進行連接,但只能自上而下地工作

[英]Android ConstraintLayout programmatically connect but only work top to top

    LinearLayout.LayoutParams navigationBarParams = 
    new LinearLayout.LayoutParams(0, (int)(BAR_DEFAULT_HEIGHT_DP * density) );

    _navigationBar.setId(R.id.navigation_fragment_navigation_bar);
    _navigationBar.setPadding(0, 0, 0, 0);
    _navigationBar.setLayoutParams(navigationBarParams);
    _navigationBar.setOrientation(LinearLayout.HORIZONTAL);
    _navigationBar.setBaselineAligned(false);
    _navigationBar.setWeightSum(6f);
    _navigationBar.setElevation(20.0f);

    ConstraintLayout con = (ConstraintLayout)_rootView.findViewById(_rootConstraintLayoutId);
    con.addView(_navigationBar);

    ConstraintSet set = new ConstraintSet();
    set.clone(con);
    set.constrainWidth(_navigationBar.getId(), 0);
    set.connect(_navigationBar.getId(), ConstraintSet.TOP, con.getId(), ConstraintSet.TOP, 100 ); //work!
    set.connect(_navigationBar.getId(), ConstraintSet.LEFT, con.getId(), ConstraintSet.LEFT,100 ); //not work!!
    set.connect(_navigationBar.getId(), ConstraintSet.RIGHT, con.getId(), ConstraintSet.RIGHT, 100 ); //not work!!
    set.applyTo(con);

我將LinearLayout添加到根ConstraintLayout。 並將所有條件都設為100的約束TOP到TOP,LEFT到LEFT,RIGHT到RIGHT連接起來。但是只有最高值100起作用。 左,右不工作。 我的代碼有什么問題? 在此處輸入圖片說明

임근영以這種方式使用開始和結束,您的視圖將支持不同的語言。

set.connect(boton.getId(),ConstraintSet.START,ConstraintSet.PARENT_ID,ConstraintSet.START,80);

我知道在Google上報告了一個錯誤。

android.support.constraint.ConstraintLayout

在嘗試刪除它並使用

“的LinearLayout”

您將可以根據需要更改方向。 通過寫

andriod:oreiantation =“水平”或andriod:oreiantation =“ vertiacl”

這是你的選擇

暫無
暫無

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

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