Девять патчей с макетом ограничения - PullRequest
0 голосов
/ 28 мая 2018

Можно ли использовать 9-патч для рисования с макетом ограничений?Я пытаюсь сделать редактируемую дробь.Два редактируемых текста, разделенных отрисовкой из девяти патчей, которая в основном представляет собой черную линию, которая может расширяться по горизонтали:

<android.support.constraint.ConstraintLayout
    android:id="@+id/constraint_content"
    android:layout_width="wrap_content"
    android:layout_height="match_parent">

    <EditText
        android:id="@+id/numerator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:hint="@string/x"
        android:inputType="number"
        android:textColorHint="@android:color/transparent"
        android:textSize="24sp"
        mr:layout_constraintBottom_toTopOf="@id/denominator" />

    <EditText
        android:id="@+id/denominator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@android:color/white"
        android:hint="@string/x"
        android:inputType="number"
        android:textColorHint="@android:color/transparent"
        android:textSize="24sp"
        mr:layout_constraintBottom_toBottomOf="@id/numerator" />

    <View
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:background="@drawable/fraction"
        mr:layout_constraintEnd_toEndOf="@id/denominator"
        mr:layout_constraintStart_toStartOf="@string/numerator" />

</android.support.constraint.ConstraintLayout>

Линия отображается правильно, но сама не растягивается, когда числитель или знаменатель увеличивают длину.Drawable отлично работает с «классическим» макетом (LinearLayout).

Starting point

Expanded

Ссылка для 9 патча для рисования

РЕДАКТИРОВАТЬ: добавление:

mr:layout_constraintWidth_default="percent"
mr:layout_constraintWidth_percent="1"

для просмотра макета, кажется, работает, теперь мне нужно центрировать содержимое ...

1 Ответ

0 голосов
/ 28 мая 2018

Существует ошибка в одном из ограничений View, используемых для отображения черновика из девяти патчей:

mr:layout_constraintStart_toStartOf="@string/numerator"

Вы пытаетесь ограничить конец View строкойресурс, и это на самом деле не выдает никаких ошибок.

Так как вы хотели бы, чтобы этот View расширялся вместе со знаменателем или знаменателем (в зависимости от того, что длиннее), и у вашего родителя ConstraintLayout было установлено android:layout_widthwrap_content Вы можете ограничить горизонтальные ограничения View на parent следующим образом:

<View
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:background="@drawable/fraction"
    mr:layout_constraintBottom_toTopOf="@id/denominator"
    mr:layout_constraintEnd_toEndOf="parent"
    mr:layout_constraintStart_toStartOf="parent"
    mr:layout_constraintTop_toBottomOf="@id/numerator" />

Результат:

enter image description here

enter image description here

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...