0

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

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>

但是,文本既不是灰色也不是粗体。有任何想法吗?

谢谢。

4

1 回答 1

2

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

TextView#setTypeface(Typeface tf, int style) 

期望style参数是Typeface.NORMAL, Typeface.BOLD, Typeface.ITALIC,之一Typeface.BOLD_ITALIC。你需要使用正确的方法

TextView#setTextAppearance(Context context, int resid)

所以,在你的情况下是setTextAppearance(context, R.style.boldText_gray).

于 2013-01-16T18:34:53.090 回答