2011-07-20 12 views
0

私はカスタムリストビューを持っており、スタイルを定義しています。私はlistviewの項目のtextsizeを変更することができません。私はそれが動的にデバイスに応じて変更できるようにレイアウトを変更しようとしています。リストビューのテキストサイズを設定します

の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レイアウト

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

私は、フォントサイズを変更するための私のコードでsetTextSizeを使用することができることを知っています。しかし、スタイルを適用するように変更したい。 変更方法についてのご意見はありますか?

おかげ

+0

FYI、アンドロイド規格によると、font-sizeには "sp"を使用し、属性値の高さと幅の種類には "dp"または "dip"を使用します。 –

答えて

2

リストビュー内のテキストのサイズは、ListViewのアダプタのアイテムリソースによって定義されます。リストビュー項目のカスタムビューを作成してTextViewを定義すると、そのテキストビュー内のフォントのサイズを変更できます。これにより、リスト内の各項目のテキストサイズが定義されます。

+0

良いキャッチ - 私は、OPがリスト項目のスタイルを設定しようとしていて、リスト項目を作成しようとしていなかったことに気付きませんでした。 –

1

私は最善の方法は、あなたがしたいリソースファイルを定義し、異なる構成でそれらをオーバーライドすることであると言うでしょう。たとえば、値/ dimen.xmlファイルを作成し、定義:

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

、その後

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

その後、あなたは自分のスタイルで言うを定義する別のファイルの値は、大/ dimen.xmlを作成します。 xml:

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

私はそれもやってみましたが、仕事はしませんでした...私はstyles.xmlにテキストサイズを定義しましたが、無駄です。 – jsp

関連する問題