所以,我有一个自定义列表适配器。在我的列表适配器中,我有:
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>
但是,文字既不是灰色也不是粗体。有什么想法吗?
感谢。
答案 0 :(得分: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)
。