2017-12-29 5 views
-2

私のXMLファイルにはConstaintLayoutがあります。そこで私は、この設定でImageViewを持っている:アプリケーションを変更する:ConstraintLayoutのlayout_constraintHorizo​​ntal_bias = ""

<ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintEnd_toEndOf="parent" 
      app:layout_constraintHorizontal_bias="1" 
      app:layout_constraintStart_toEndOf="@+id/game_square" 
      app:layout_constraintTop_toTopOf="parent" 
      app:srcCompat="@mipmap/ic_game_quadrat" 
      android:visibility="invisible" 
      android:id="@+id/game_right"/> 
私はアプリ上でJavaファイルにアクセスするにはどうすればよい

:=「1」layout_constraintHorizo​​ntal_biasは、それを変更するには例えば0

モリッツが

答えて

3

トンに「」= layout_constraintHorizo​​ntal_bias:あなたは

ConstraintSet constraintSet = new ConstraintSet(); 
constraintSet.clone(context, R.id.activity_constraint); 
float biasedValue = 0f; 
constraintSet.setHorizontalBias(R.id.game_right, biasedValue); 
constraintSet.applyTo((ConstraintLayout) findViewById(R.id.activity_constraint)); 
+0

うん、私は知っているが、私はどのようにアプリを変更することができます:layout_constraintHorizo​​ntal_bias = "" view.setlayout_constraintHorizo​​ntal_bias = "1"は存在しません – Moritz

+0

更新された回答を参照してください – Yuliwee

+0

私はあなたの答えを受け入れることができません。しかし、私のコードであなたの回答を編集することはできますか? – Moritz

2

変更アプリのような何かを試すことができます彼は、このクラスを使用すると、プログラムでConstraintLayoutで使用するconstraintsのセットを定義することができます使用ConstraintSet

より

をConstraintLayout。制約を作成して保存し、既存のConstraintLayoutに適用することができます。 ConstraintsSetは、様々な方法で作成できます。

CODE変更後

ConstraintSet set = new ConstraintSet(); 
    ImageView view = (ImageView)findViewById(R.id.game_right); 
    ConstraintLayout constraintLayout = (ConstraintLayout)findViewById(R.id.activity_constraint); 
    set.clone(constraintLayout); 
    set.setHorizontalBias(view,0); 
    constraintSet.applyTo(constraintLayout); 
0

少し私は解決策を見つける他のanwsers:

ConstraintLayout cl = (ConstraintLayout) findViewById(R.id.activity_constraint); 
ConstraintSet cs = new ConstraintSet(); 
cs.clone(cl); 
cs.setHorizontalBias(R.id.game_right, (float) 0); 
cs.applyTo(cl); 

モリッツ

+0

@モリッツ私の答えであなたに言ったことはかなりです。この質問を閉じるには、答えを受け入れてください。 – Yuliwee

関連する問題