设置列表视图的文本大小

时间:2011-07-20 22:54:24

标签: android android-layout android-listview

我有自定义列表视图并为其定义了一种样式。我无法更改listview上项目的文本大小。我试图通过布局更改它,以便它可以根据设备动态更改。

styles.xml

<style parent="@android:attr/listViewStyle" name="ListStyle">
    <item name="android:background">@android:color/white</item>
    <item name="android:divider">@drawable/divider</item>
    <item name="android:textSize">26dp</item>
    <item name="android:textStyle">bold</item>
</style>

xml layout

<TvList style="ListStyle"
     android:id="@+id/mainview" 
    android:layout_height="300dp"
    android:layout_width="wrap_content" />

我知道我可以在代码中使用setTextSize来更改字体大小。但我想改变它应用样式。 关于如何改变它的任何建议?

由于

2 个答案:

答案 0 :(得分:2)

列表视图中文本的大小由ListView的适配器项目资源定义。如果为列表视图项创建自定义视图并定义TextView,则可以更改该文本视图中字体的大小,这将定义列表中每个项目中文本的大小。

答案 1 :(得分:1)

我想说最好的方法是定义你想要的资源文件,然后在不同的配置中覆盖它们。例如,创建values / dimen.xml文件并定义:

 <dimen name="text_size_medium">18sp</dimen>

然后创建另一个文件values-large / dimen.xml,它定义了

 <dimen name="text_size_medium">22sp</dimen>

然后你只需在styles.xml中说:

 <item name="android:textSize">@dimen/text_size_medium</item>