0

我的列表视图中的文本真的很瘦。我可以更改文本大小以使其更大,但我想检查是否还有其他我可以做的事情,因此它会根据设备的屏幕大小和分辨率自动选择合适的大小。

我的主要活动是列表视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:dividerHeight="0.1dp"
        >
    </ListView>

</LinearLayout>

我的 listItem xml 是列表视图中每个项目的格式:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal">

<TextView android:id="@+id/itemName" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
   />

</LinearLayout>
4

1 回答 1

2

将比例与 Paint.measureText() 一起使用:

(text size / measureText width) = (perfectSize / screenWidth)

解决完美的文本大小:

perfectSize = (text size / measureText width) * screenWidth;

getWindowManager().getDefaultDisplay().getWidth()您可以从 Display 类中找到屏幕宽度。

或者

最好在 sp 中设置文本的大小(Sp 相对于设备的正常字体大小独立缩放。)或者您可以使用android:textAppearance="?android:attr/textAppearanceLarge

于 2013-06-18T14:24:23.523 回答