0

では動作しません:ガイドラインは、私はこのようなdialogFragmentクリートたいDialogFragment

enter image description here

を実際に私は自分の携帯電話上でこれを得た:

enter image description here

ボタン1はボタン2で覆われています。ガイドラインがうまくいかないようです。 textViewが十分な長さであれば、うまくいきます。しかし、textViewが短い場合、問題が発生します。どうすれば問題を解決できますか?

私のダイアログXMLは次のとおりです。

<android.support.constraint.ConstraintLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:padding="32dp"> 

     <TextView 
      android:id="@+id/dialog_message" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Dialog Message" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      app:layout_constraintLeft_toLeftOf="parent" 
      app:layout_constraintRight_toRightOf="parent" 
      app:layout_constraintTop_toTopOf="parent" /> 

     <android.support.constraint.Guideline 
      android:id="@+id/guideline" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      app:layout_constraintGuide_percent="0.5" /> 

     <Button 
      android:id="@+id/dialog_button_positive" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="32dp" 
      android:layout_marginRight="32dp" 
      android:layout_marginTop="16dp" 
      android:gravity="center" 
      android:text="Positive" 
      android:textAppearance="?android:textAppearanceButton" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintLeft_toLeftOf="parent" 
      app:layout_constraintRight_toLeftOf="@id/guideline" 
      app:layout_constraintTop_toBottomOf="@id/dialog_message" /> 

     <Button 
      android:id="@+id/dialog_button_negative" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="32dp" 
      android:layout_marginRight="32dp" 
      android:layout_marginTop="16dp" 
      android:gravity="center" 
      android:text="Negative" 
      android:textAppearance="?android:textAppearanceButton" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintLeft_toRightOf="@id/guideline" 
      app:layout_constraintRight_toRightOf="parent" 
      app:layout_constraintTop_toBottomOf="@id/dialog_message" /> 

    </android.support.constraint.ConstraintLayout> 

答えて

0

あなたがガイドラインを必要としない、あなたの代わりにChainsを使用することができます。 あなたがチェーンに精通していない場合には、この

<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:padding="32dp"> 

    <TextView 
     android:id="@+id/dialog_message" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Dialog Message" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 

    <Button 
     android:id="@+id/dialog_button_positive" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp" 
     android:layout_marginEnd="16dp" 
     android:gravity="center" 
     android:text="Positive" 
     app:layout_constraintHorizontal_chainStyle="packed" 
     android:textAppearance="?android:textAppearanceButton" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toLeftOf="@id/dialog_button_negative" 
     app:layout_constraintTop_toBottomOf="@id/dialog_message" /> 

    <Button 
     android:id="@+id/dialog_button_negative" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="16dp" 
     android:layout_marginStart="16dp" 
     android:gravity="center" 
     android:text="Negative" 
     android:textAppearance="?android:textAppearanceButton" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintLeft_toRightOf="@id/dialog_button_positive" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toBottomOf="@id/dialog_message" /> 

</android.support.constraint.ConstraintLayout> 

を試してみてください、ここで私はあなたの答えとして行ったが、2番目のボタンはincomplete.IコールsetLayoutのことで問題を解決し、表示small tutorial

+0

です。そこで、メソッド 'onStart()'で 'getDialog()。getWindow()。setLayout()'を追加します。 –

関連する問題