textcolor未应用于listview项目

时间:2013-01-16 18:27:46

标签: android styles

所以,我有一个自定义列表适配器。在我的列表适配器中,我有:

txtLedgerDate.setTypeface(typewriterFont, R.style.grayText);
txtLedgerPayee.setTypeface(typewriterFont, R.style.boldText_gray);
txtLedgerDeposit.setTypeface(typewriterFont, R.style.grayText);
txtLedgerWithdrawal.setTypeface(typewriterFont, R.style.grayText);

样式定义如下:

<style name="grayText">
    <item name="android:textColor">@color/gray</item>
</style>

<style name="boldText.gray">
    <item name="android:textColor">@color/gray</item>
    <item name="android:textStyle">bold</item>  
</style>

但是,文字既不是灰色也不是粗体。有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

您使用了错误的方法来应用样式。

TextView#setTypeface(Typeface tf, int style) 

要求style参数为Typeface.NORMALTypeface.BOLD之一, Typeface.ITALICTypeface.BOLD_ITALIC。您需要使用正确的方法

TextView#setTextAppearance(Context context, int resid)

因此,在您的情况下,它是setTextAppearance(context, R.style.boldText_gray)