我的 ConstraintLayout 中有一個 TextView,我希望 TextView 僅占據其父寬度和高度 (0dp,0dp)。我已經看到,在小型設備中,如果在我的 ConstraintLayout 中我有一個 ImageView 或一個 View, android:layout_width="0dp"
android:layout_height="0dp"
它會遵守約束并且不會比它的父級大。但是在 TextView 的情況下,它的作業方式與在小型設備中不同,盡管它具有與 ImageView 相同的屬性,但文本從其最大空間突出。為了讓您理解,我發布了一張圖片,讓您了解 TextView 是如何超出其約束的:
問題圖片: 文本應顯示示例文本
我沒有使用換行內容,因為我需要 TextView 正好占據那個空間。我認為問題在于 TextView 大小不會根據螢屏大小自動調整。我該怎么做才能使大小等于所有文本都可以完美看到的大小?
我還看到我可以使用 android:autoSizeTextType="uniform"
但我不能,因為它需要 API 級別 >=26
<TextView
android:id="@ id/textView"
android:layout_width="0dp"
android:layout_height="0dp"
android:elevation="2dp"
android:text="@string/example_of_text"
android:textAppearance="@style/TextAppearance.AppCompat.Medium"
android:textColor="@color/txt_light"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@ id/view1"
app:layout_constraintEnd_toStartOf="@id/view2"
app:layout_constraintStart_toEndOf="@id/view3"
app:layout_constraintTop_toBottomOf="@ id/view4" />
正如我所說,我嘗試android:layout_width="0dp"
android:layout_height="0dp"
在 TextView 中使用 ConstraintLayout,但它的文本與其約束重疊。
uj5u.com熱心網友回復:
如果您的 minSdk >= 14,您可以使用AppCompatTextView自動調整大小。根據檔案:
支持庫 26.0 在運行 Android 8.0(API 級別 26)之前的 Android 版本的設備上提供對自動調整 TextView 功能的全面支持。該庫提供對 Android 4.0(API 級別 14)及更高版本的支持。android.support.v4.widget 包包含 TextViewCompat 類以向后兼容的方式訪問功能。
你會指定android:autoSizeTextType="uniform"
. app:autoSizeTextType="uniform"
也可能作業。
uj5u.com熱心網友回復:
dp
您可以在而不是 中設定單位文本大小sp
。
android:textSize="15dp"
uj5u.com熱心網友回復:
android:layout_marginStart="10dp" 并嘗試使用 ssp 和 sdp 庫。給 android:layout_width="0dp" 作為 match_parent
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/536415.html
上一篇:XML的規范是什么?
下一篇:xsd架構中的Xpath