2017-06-27 130 views
0
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に追加します。 を入力し、制約TOPをTOPに、LEFTをLEFTに、RIGHTをRIGHTに、すべての値100で接続します。 ただし、上限値100のみが動作します。 は動作しません。私のコードは間違っていますか?その上 enter image description hereAndroid ConstraintLayoutはプログラムによって接続しますが、上からしか動作しません。

答えて

1

임근영使用スタートをし、それが別の言語をサポートしますそのように代わりにあなたのビューを終了します。

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

Googleにはバグが報告されています。

0

android.support.constraint.ConstraintLayout

それを削除しようとして

を使用する "のLinearLayout"

あなたが好きなようにあなたの向きを変更することができます。

のAndriod書き込むことによって:oreiantation = "横" またはのAndriod:oreiantation =

"vertiacl" そのあなたの選択

+0

オリエンテーションに問題はありません。 –

関連する問題