0
因此,我正在使用庫調整文本大小以適合範圍:https://github.com/grantland/android-autofittextview。我想要做的是循環訪問文本視圖的ArrayList並查找最小文本大小,然後將該文本大小設置爲每個文本視圖。 我的Java代碼:Android - 設置文本大小以編程方式切斷單詞
//Loop through every textview and get lowest size
float lowestTextSize = textViews.get(0).getTextSize();
for (TextView textView : textViews){
if(lowestTextSize > textView.getTextSize()){
lowestTextSize = textView.getTextSize();
}
}
lowestTextSize = lowestTextSize/getResources().getDisplayMetrics().scaledDensity;
//Loop through every textview and set them all to the lowest text size previously found
for (TextView textView : textViews){
textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, lowestTextSize);
}
我的問題是,大小設置爲每隔後的TextView的TextView的變化大小,但沒有的話本身的大小,所以我得到削減了一半的話(例外製作字whos大小我正在使用,調整大小的AutoFit庫):
有關如何解決此問題的任何想法?
我的XML代碼:
<LinearLayout
android:id="@+id/highestSellingProductLayout"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_weight="1"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3"
android:gravity="center"
android:orientation="horizontal">
<me.grantland.widget.AutofitTextView
android:id="@+id/highestSellingProduct"
autofit:minTextSize="15sp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:maxLines="1"
android:paddingBottom="5dp"
android:text="NA"
android:textAlignment="center"
android:textColor="@color/colorSuccess"
android:textSize="22sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<me.grantland.widget.AutofitTextView
autofit:minTextSize="15sp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="bottom"
android:maxLines="1"
android:paddingBottom="5dp"
android:text="Highest Selling"
android:textAlignment="center"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
增加布局高度 –
它是沒有用的。因爲我的目的是根據文本的最小尺寸調整文本的大小......因爲您可以看到文本未被調整大小,所以文本的大小保持不變...... – Alphonse
getTextSize()返回文本的實際像素尺寸。嘗試TypedValue.COMPLEX_UNIT_PX – PrisonMike