ConstraintLayout: проблема minWidth и Ellipsize - PullRequest
0 голосов
/ 18 октября 2018

У меня есть два TextViews, связанные друг с другом.TextView с идентификатором «list ..._ label» должен вести себя следующим образом -> иметь minWidth, когда TextView с идентификатором «list ..._ value» настолько широк, что усекает метку, а также делает размер метки эллиптическим.В данный момент minWidth не работает с меткой, он имеет эллиптический размер, но minWidth не работает.

Кроме того, TextView с идентификатором "list ..._ value" необходимо сделать эллиптическим, когда Label достигнет minWidth.

Как этого добиться и в чем может быть проблема?

Примечание. Эти два TextViews являются пользовательскими, но их имена стали более общими.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
style="@style/Content"
android:background="@drawable/list_item_selector_white">

<include layout="@layout/guidelines" />

<ImageView
    android:id="@+id/list_item_one_line_with_icon_icon"
    android:layout_width="@dimen/list_item_icon_size_large"
    android:layout_height="@dimen/list_item_icon_size_large"
    android:layout_marginBottom="@dimen/du_margin_default"
    android:layout_marginStart="@dimen/du_margin_default"
    android:layout_marginTop="@dimen/du_margin_default"
    android:contentDescription="@string/image_description"
    android:layout_constraintBottom_toBottomOf="parent"
    android:layout_constraintStart_toStartOf="parent"
    android:layout_constraintTop_toTopOf="parent"
    tools:background="@drawable/x_circle_food" />

<TextView
    android:id="@+id/list_item_one_line_with_icon_label"
    style="@style/ConstrainedView.WrappedHeight"
    android:layout_marginBottom="@dimen/du_margin_default"
    android:layout_marginEnd="@dimen/du_margin_default_half"
    android:layout_marginStart="@dimen/du_margin_default_half"
    android:layout_marginTop="@dimen/du_margin_default"
    android:ellipsize="end"
    android:maxLines="1"
    android:minWidth="@dimen/du_list_item_label_min_width"
    android:textColor="@color/du_brown_wcag"
    android:layout_constraintBottom_toBottomOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/list_item_one_line_with_icon_value"
    android:layout_constraintStart_toEndOf="@id/list_item_one_line_with_icon_icon"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_goneMarginRight="@dimen/du_margin_default_half"
    android:typography="@style/L4"
    tools:text="Type something"
    tools:visibility="visible" />

<TextView
    android:id="@id/list_item_one_line_with_icon_value"
    style="@style/Wrapped"
    android:layout_marginBottom="@dimen/du_margin_default"
    android:layout_marginEnd="@dimen/du_margin_default_half"
    android:layout_marginTop="@dimen/du_margin_default"
    android:ellipsize="end"
    android:maxLines="1"
    android:textColor="@color/du_black"
    android:visibility="gone"
    android:layout_constraintBottom_toBottomOf="parent"
    android:layout_constraintEnd_toStartOf="@+id/list_item_one_line_with_icon_arrow"
    android:layout_constraintHorizontal_bias="1"
    android:layout_constraintStart_toEndOf="@id/list_item_one_line_with_icon_label"
    android:layout_constraintTop_toTopOf="parent"
    android:layout_goneMarginRight="@dimen/du_margin_default_half"
    android:typography="@style/L3"
    tools:text="-2 5000,00"
    tools:visibility="visible" />

<ImageView
    android:id="@id/list_item_one_line_with_icon_arrow"
    style="@style/ConstrainedView"
    android:layout_width="@dimen/list_item_arrow_width"
    android:layout_height="@dimen/list_item_arrow_height"
    android:contentDescription="@string/image_description"
    android:scaleType="fitEnd"
    android:src="@drawable/icon_right_arrow_soft_brown"
    android:layout_constraintBottom_toBottomOf="parent"
    android:layout_constraintEnd_toStartOf="@id/guidelines_end"
    android:layout_constraintTop_toTopOf="parent"
    tools:visibility="visible" />

СТИЛИ

<style name="ConstrainedView">
    <item name="android:layout_width">0dp</item>
    <item name="android:layout_height">0dp</item>
</style>

<style name="Wrapped">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:layout_height">wrap_content</item>
</style>

<style name="ConstrainedView.WrappedHeight">
    <item name="android:layout_height">wrap_content</item>
</style>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...