0
    <item name="android:ellipsize">middle</item>
    <item name="android:maxLines">2</item>

我试过删除 attrs。一次一个,但 ellipSize 似乎在任何情况下都不起作用。

这就是它的外观。

在此处输入图像描述

完整的单词是:“元素#1 ASDASDASDASDASDASDASDASD”

android:text='@{element.element_title + " ASDASDASDASDASDASDASDASD"}'

在我看来,主要问题之一是动态计算的维度太多,它选择以错误的顺序执行动作/执行属性。

这些是正常工作的主要和相关属性:

    <item name="android:maxLines">2</item>
    <item name="autoSizeTextType">uniform</item>
    <item name="autoSizeMaxTextSize">@dimen/text_small</item>
    <item name="autoSizeMinTextSize">@dimen/text_small_small</item>

令我惊讶的是,“maxLines”与“autoSizeTextType”的组合效果很好……

现在,如果...我删除了这 3 行:

<item name="autoSizeTextType">uniform</item>
<item name="autoSizeMaxTextSize">@dimen/text_small</item>
<item name="autoSizeMinTextSize">@dimen/text_small_small</item>

...有一个变化,但不是更好:

在此处输入图像描述

这些是我最直接的属性:

在样式.xml 中:

<style name="small_frame_text_small_bold_autoSize" parent="small_frame_padding" >
        <item name="android:fontFamily">@font/lekton_code_italic</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textSize">@dimen/text_small</item>
        <item name="android:textColor">@color/material_on_background_emphasis_high_type</item>
        <item name="android:ellipsize">middle</item>
        <item name="android:maxLines">2</item>
        <item name="autoSizeTextType">uniform</item>
        <item name="autoSizeMaxTextSize">@dimen/text_small</item>
        <item name="autoSizeMinTextSize">@dimen/text_small_small</item>
    </style>

现在在itemBinding xml里面实现样式:list_item.xml

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:divider="?attr/dividerVertical"
            android:showDividers="middle"
            android:gravity="center_horizontal|bottom"
            >

            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/element_title"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text='@{element.element_title + " ASDASDASDASDASDASDASDASD"}'


                style="@style/small_frame_text_small_bold_autoSize"
                android:layout_weight="1.2"
                tools:text="Title"
                android:letterSpacing="0.06"
                android:gravity="center_horizontal|bottom"
                />
4

0 回答 0