【问题标题】:Uniformly autosizing multiple TextViews统一自动调整多个 TextView
【发布时间】:2018-01-07 06:51:23
【问题描述】:

在我的活动中,我有三个自动调整大小的文本视图(不使用支持库):

<TextView
            android:id="@+id/textView_date"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:autoSizeTextType="uniform"
            android:gravity="center"
            android:maxLines="1"
            android:text="1, Jan"
            app:layout_constraintBottom_toTopOf="@id/guideline_horizontal_date_time"
            app:layout_constraintEnd_toStartOf="@id/textView_time"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

<TextClock
            android:id="@+id/textView_time"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:autoSizeTextType="uniform"
            android:gravity="center"
            android:text="12:00 AM"
            app:layout_constraintBottom_toTopOf="@id/guideline_horizontal_date_time"
            app:layout_constraintEnd_toStartOf="@id/textView_day"
            app:layout_constraintStart_toEndOf="@id/textView_date"
            app:layout_constraintTop_toTopOf="parent" />

<TextView
            android:id="@+id/textView_day"
            android:layout_width="0dp"
            android:layout_height="0dp"
            android:layout_marginEnd="8dp"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            android:autoSizeTextType="uniform"
            android:gravity="center"
            android:maxLines="1"
            android:text="Monday"
            app:layout_constraintBottom_toTopOf="@id/guideline_horizontal_date_time"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toEndOf="@id/textView_time"
            app:layout_constraintTop_toTopOf="parent" />

当我运行它时,我得到以下结果

如何使日期和日期文本视图具有统一的大小? 我不想设置一个相等的 android:autoSizeMaxTextSize 属性来做到这一点。

我尝试了以下逻辑(Kotlin)

if(view_date.textSize>view_day.textSize)
            view_date.textSize = view_day.textSize
else
            view_day.textSize=view_date.textSize

但是它不起作用,文本大小不会改变。

【问题讨论】:

  • 有什么好的解决办法吗?我有兴趣
  • @SirKnigget 抱歉,我中途放弃了这个项目,iirc 我切换到了恒定大小值。

标签: android textview kotlin autosize


【解决方案1】:

自动调整大小的目的是让 Android 框架决定应该选择什么文本大小,具体取决于屏幕大小。

在你的情况下,我会改变实施方式。您可以使用一个 TextView 而不是一个接一个链接的 3 个,并使用 Formatter 方法填充日期/时间/星期几。这样文本将始终保持相同大小。

【讨论】:

  • 这在您确实需要多个单独的统一文本字段(列表...)的情况下没有帮助
猜你喜欢
  • 2013-07-16
  • 2012-08-25
  • 1970-01-01
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 2019-04-05
  • 2011-12-30
相关资源
最近更新 更多