使自定义TextView大小相同

时间:2018-12-06 10:28:38

标签: android textview autosize

我在RecyclerView中使用了自动调整TextView大小

{
    "$id":"1",
    "Child": {
        "$id":"2",
        "Parent": {
            "$ref":"1"
        }
    }
}

字体大小因内容而异

enter image description here

我记录了大小

<LinearLayout 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:orientation="horizontal">

        <TextView
            android:id="@+id/item_id"
            android:layout_width="0dp"
            android:layout_height="30dp"
            android:layout_weight="1"
            android:gravity="center"
            android:maxLines="1"
            app:autoSizeMaxTextSize="12sp"
            app:autoSizeMinTextSize="8sp"
            app:autoSizeTextType="uniform" />

        <TextView
            android:id="@+id/item_price"
            android:layout_width="0dp"
            android:layout_height="30dp"
            android:layout_weight="1"
            android:gravity="center"
            android:maxLines="1"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            app:autoSizeMaxTextSize="12sp"
            app:autoSizeMinTextSize="8sp"
            app:autoSizeTextType="uniform" />
    </LinearLayout>

这是结果

 Log.e("price", holder.getAdapterPosition() + "--" + price.getTextSize());

您看到的尺寸不同,我想知道如何使这些尺寸相同?                                                              谢谢!

1 个答案:

答案 0 :(得分:0)

p[0][0]每个项目彼此独立,因此第二个项目可能不知道RecyclerView中第一个项目的大小。

处理这种情况的一种方法是,将RecyclerView的最大长度(android:maxLength=SIZE)设置为空白以填充较小的文本,并显示椭圆以表示较长的文本。