所以我有两个文本视图,一个有特定的高度和自动调整大小属性,另一个是普通的多行文本视图,内容按高度换行。
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvMovieRating"
android:layout_width="match_parent"
android:layout_height="@dimen/tvOthersActivityMovieHeight"
android:layout_marginStart="@dimen/text_view_movie_description_margin_start"
android:layout_marginHorizontal="@dimen/mainCLMarginActivityMovie"
android:text="@string/movieRatingHint"
android:textColor="@color/white"
app:autoSizeMaxTextSize="@dimen/all_auto_max_text_sizes"
app:autoSizeMinTextSize="@dimen/all_auto_min_text_sizes"
app:autoSizeStepGranularity="@dimen/all_auto_size_step_granularities"
app:autoSizeTextType="uniform"
app:layout_constraintTop_toBottomOf="@id/tvMovieNameAndDate"
/>
<TextView
android:id="@+id/tvMovieDescriptionList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/text_view_movie_description_margin_start"
android:layout_marginHorizontal="@dimen/mainCLMarginActivityMovie"
android:textSize="268sp"
android:text="@string/lorem_ispum"
android:textColor="@color/white"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvNonChangeableDescriptionText"
/>
现在我尝试根据第一个textView的textSize设置第二个textView的textSize大小。
binding.tvMovieDescriptionList.textSize = binding.tvMovieRating.textSize
但没成功有什么帮助吗
2条答案
按热度按时间yzckvree1#
也许你忘了通知你的绑定。大多数绑定的更改都需要你通知他们来更新它们。我会试试的
或
另一个注意事项是,你总是可以简单地将你的自动调整尺寸复制到你的辅助文本视图中,我不明白为什么你不能这样做,因为这只是两个文本视图,而不是1120。
lrl1mhuk2#
不能直接执行以下操作:
setTextSize(getTextSize())
.原因是
getTextSize()
返回精确像素大小,同时setTextSize()
设置缩放像素单位。该单位与这些函数不一致。因此,最简单的方法是,在设置大小时可以提及单位:
或者,您可以在设置之前自行计算缩放像素单位: