Android TextView isBold始终返回正常值

Android TextView isBold始终返回正常值,android,fonts,textview,styles,typeface,Android,Fonts,Textview,Styles,Typeface,我正在这样设置文本视图的字体 textView.setTypeface(tf_roboto_medium, Typeface.BOLD); 使用此命令检查样式时,其计算结果为true if (textView.getTypeface().getStyle() == Typeface.NORMAL) { // always here } else { // never here } [编辑]这是我在TextView中的xml内容 <TextView and

我正在这样设置文本视图的字体

textView.setTypeface(tf_roboto_medium, Typeface.BOLD);
使用此命令检查样式时,其计算结果为true

if (textView.getTypeface().getStyle() == Typeface.NORMAL) {
// always here
}
else {
// never here
}
[编辑]这是我在TextView中的xml内容

<TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:text="Train"
                android:textColor="#777777"
                android:gravity="bottom|center"
                android:singleLine="true"
                android:id="@+id/txt_train"
                android:layout_gravity="left"
                android:layout_weight="15"
                android:textSize="32px"
                android:onClick="onTrainClick"
                android:clickable="true" />

我做错了什么

附言:我读过其他帖子也有同样的要求。他们似乎都不适合我。因此,这个问题可以尝试以下方法之一:

  • if(textView.getTypeface().isBold()){
  • if((textView.getTypeface().getStyle()&Typeface.BOLD)>0){
  • 据我所见,字体样式使用了一个位掩码。Normal==0,因此0和0可能会出现问题。您可以使用字符串:

    <string name="train"><b>Train</b></string>
    

    1.isBold()-相同的行为。总是说“not bold”。2.这是编译错误。是的,我忘记了>0:)它仍然不会有什么区别,因为它是isBold()的实现。我没有更多的想法,可能字体有问题…谢谢Mark的评论。我尝试了stackoverflow问题中的所有可用内容。似乎没有任何效果。我将禁用字体并检查一次。
    android:text="@string/train"