2017-12-20 8 views
-1

これは私のレイアウトファイルです。ConstraintLayout layout_constraintHorizo​​ntal_biasが動作しないようです

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <EditText 
     android:layout_width="150dp" 
     android:layout_height="50dp" 
     android:hint="please input test content" 
     android:inputType="phone" 
     android:textColorHint="@android:color/holo_red_light" 
     android:textSize="13sp" 
     app:layout_constraintBottom_toTopOf="parent" 
     app:layout_constraintRight_toLeftOf="parent" /> 
    <TextView 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:gravity="center" 
     android:text="Hello" 
     android:textColor="@android:color/black" 
     app:layout_constraintBottom_toTopOf="parent" 
     app:layout_constraintHorizontal_bias="0.5" /> 
</android.support.constraint.ConstraintLayout> 

フォローするpicはプレビュービューです。

enter image description here

私は親ビューにcenter_horizo​​ntalするのTextViewを移動したいのですが、動作しませlayout_constraintHorizontal_bias=0.5"ようです。

誰にこの問題のアイデアがありますか?まずはありがとう!

+0

あなたの期待する出力は何ですか? –

+0

@Nilu TextViewを中央の水平に移動 – Cyrus

+0

@CyrusこれをConstraintLayoutだけで行いたいですか? –

答えて

1

はあなたがどんな親にそれを制約与える必要がbiasを使用するには、この

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="16dp" 
     android:ems="10" 
     android:hint="please input test content" 
     android:inputType="phone" 
     android:textColorHint="@android:color/holo_red_light" 
     android:textSize="13sp" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" /> 

    <TextView 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:gravity="center" 
     android:text="Hello" 
     android:textColor="@android:color/black" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintHorizontal_bias="0.5" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 

</android.support.constraint.ConstraintLayout> 

EDIT

を試してみてください。

enter image description here

+0

あなたの答えをありがとう、この方法はwrok可能性があります。なぜ 'app:layout_constraintHorizo​​ntal_bias = 0.5'が動作しないのか – Cyrus

+0

@Cyrus私は 'layout_constraintHorizo​​ntal_bias'の更新は必要ないと思っています。 –

+0

@Cyrusあなたはそれを親に教えてもらっていないので、作業をする必要があります。 –

1

これを試してみてください:

app:layout_constraintHorizontal_bias="0.5"あなたはどんな親にそれを制約していない ので、機能していません。 Read more about bias.

enter image description here

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <TextView 
     android:layout_width="80dp" 
     android:layout_height="50dp" 
     android:gravity="center" 
     android:text="Hello" 
     android:textColor="@android:color/black" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintHorizontal_bias="0.5" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 

    <EditText 
     android:id="@+id/editText2" 
     android:layout_width="150dp" 
     android:layout_height="50dp" 
     android:layout_marginBottom="16dp" 
     android:ems="10" 
     android:hint="please input test content" 
     android:inputType="phone" 
     android:textColorHint="@android:color/holo_red_light" 
     android:textSize="13sp" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintEnd_toEndOf="parent" 
     app:layout_constraintStart_toStartOf="parent" /> 
</android.support.constraint.ConstraintLayout> 
+0

@Cyrus 'app:layout_constraintHorizo​​ntal_bias =" 0.5 "'はあなたがそれをどの親にも束縛していないので動作しません。私の答えを試してみてください。 –

2

私はあなたがあなたには、いくつかの重要な要素が欠けているように見えるので、私は、制約レイアウトを説明するいくつかのガイドになりました場合の最初の。 ConstraintLayout

あなたが問題になるのは、あなたのレイアウトに0.5バイアスをかけずに制約するように求めていることです。あなたのtextViewはapp:layout_constraintBottom_toTopOf="parent" 以外のものには制約されません。btwはあなたのテキストビューの一番下を親の上に拘束します。

バイアスが働くためには、どの要素を間にバイアスするかを知る必要があります。あなたは、単純な、それが親の中心になりたい場合は、そのように親にのTextViewを制約:

<TextView 
    android:layout_width="80dp" 
    android:layout_height="50dp" 
    android:gravity="center" 
    android:text="Hello" 
    android:textColor="@android:color/black" 
    app:layout_constraintTop_toTopOf="parent" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintHorizontal_bias="0.5" /> 

はまた、その時点で、あなたは文句を言わないのバイアスを必要としますが、その後にそれを使用する可能性があるので、私はしかし、それを残しましたそれを他のパーセンテージで移動する。

+1

私は最後の行にも追加しました。 –

関連する問題