Android如何在textview中拟合文本大小

时间:2013-02-08 17:24:16

标签: android

这是我的代码:

<LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="120dp"
                android:orientation="vertical"
                android:layout_weight="3" 
                android:weightSum="4">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:text="P" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="0dp"
                    android:layout_weight="2"
                    android:text="Bryant" />
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:text="27" />
            </LinearLayout>

当outest布局的高度为120dp时,文本无法显示整个单词(例如'y'仅上半部分),我认为这是因为文本大小太大了。
但是,当我设置为150dp时,文本可以显示为整个单词 设置文本的文本大小的任何方法都自动适合textview以显示整个单词 我不想将文本化硬编码为12sp 而且,我只想用xml做 感谢。

3 个答案:

答案 0 :(得分:0)

不幸的是,没有简单的方法可以自动调整TextView的字体大小。我建议将TextView的wrap_content设为高度,而不是静态高度。

如果您发现屏幕上没有足够的空间,可以将整个内容包装在ScrollView中吗?

<ScrollView android:layout_width="fill_parent" android:layout_height="120dp">
    <LinearLayout android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="P" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="Bryant" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="27" />
    </LinearLayout>
</ScrollView>

答案 1 :(得分:0)

无法自动更改字体大小以调整文字以适合特定大小。

答案 2 :(得分:0)

不仅没有自动适合文本,而且实现也是not trivial

我建议使用另一种UI方法。这会让你头痛后头疼。