Android - 调整文本大小以适应TextView

时间:2017-07-24 09:01:28

标签: android textview

我正在尝试调整TextView中的换行文本以适应其范围。 我使用here的源代码创建了一个新类,并将其添加到我的布局中:

            <com.util.AutoResizeTextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginLeft="10dp"
                android:layout_alignLeft="@id/ivBulb"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="80dp"
                android:layout_below="@id/ivBulb"
                android:layout_marginRight="10dp"
                android:id="@+id/textP"
                android:ellipsize="none"
                android:fontFamily="sans-serif"
                android:textColor="#000"
                android:textSize="100sp"/> <!--maximum size -->

应该在TextView中显示的文字类似于:

The sunset filled the entire sky with the deep color of rubies, setting the clouds ablaze. The waves crashed and danced along the shore, moving up and down in a graceful and gentle rhythm like they were dancing.

有些文字可以是多行文字,但有些则不是。 我的问题是文本字体很小(大约35dp),它总是一样的:( 我添加了ScrollView以便能够显示所有文字,但我只想保留TextView和要调整大小的文字

我是Android开发的新手,所以请保持温和。

1 个答案:

答案 0 :(得分:0)

android.support.v7.widget.AppCompatTextView使用 并设置

android:ellipsize="none"
                                android:singleLine="true"
                                app:autoSizeMaxTextSize="14sp"
                                app:autoSizeMinTextSize="12sp"
                                app:autoSizeStepGranularity="0.5sp"
                                app:autoSizeTextType="uniform"

<android.support.v7.widget.AppCompatTextView
                                android:ellipsize="none"
                                android:singleLine="true"
                                app:autoSizeMaxTextSize="14sp"
                                app:autoSizeMinTextSize="12sp"
                                app:autoSizeStepGranularity="0.5sp"
                                app:autoSizeTextType="uniform"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"              android:id="@+id/txt_ortopedi" 
                                android:textColor="@color/text_color"
                                android:padding="4dp" android:hint="@string/search"
                                android:gravity="clip_vertical|center_horizontal" android:layout_gravity="center"
                                android:background="@color/white"/>