2017-03-12 39 views
1

我在尺寸文件的其他活动已经这种情况安卓setTextSize不同的行为

<dimen name="fld_label_size">22sp</dimen> 
<dimen name="fld_stat_size">12sp</dimen> 
<dimen name="question_fld_label_size_text">24sp</dimen> 

然后在活动

lblEnd.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.question_fld_label_size_text)); 

表布局

TableRow.LayoutParams lp1 = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT,TableRow.LayoutParams.WRAP_CONTENT, 0.2f); 
    TextView tv1 = new TextView(this); 
    tv1.setText(percent); 
    tv1.setTextColor(Color.BLACK); 
    tv1.setLayoutParams(lp1); 

    tv1.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.fld_stat_size)); 

杉木你看正确的第二个是如此之小,以至于人物甚至没有区分

我在做什么错?

编辑:

我试图把代码中的LinearLayout,而不是在表中。结果是不同的。我看到的TextView如我所料

RelativeLayout rl = (RelativeLayout) findViewById(R.id.survey); 
TextView tv0 = new TextView(this); 
tv0.setTextSize(TypedValue.COMPLEX_UNIT_SP, getResources().getDimension(R.dimen.fld_stat_size)); 
tv0.setText(c.getString(0)); 

tv0.setId(Resources.getSystem().getIdentifier("txtView_"+c.getString(5),null,null)); 
tv0.setTextColor(Color.BLACK); 
tv0.setPadding(0,150,0,0); 
rl.addView(tv0); 
+0

尝试使用TypedValue.COMPLEX_UNIT_SP而不是TypedValue.COMPLEX_UNIT_PX。 – albeee

+0

我试了一下。在12sp的文本是不可见的。在14sp文字太大了。我只能看到54以上的两个文本视图。 – ciro

+0

首先,您正在使用'question_fld_label_size_text'它未在您发布的维度样本中列出,是否有可能是其他(较高)值? – Yazan

回答

0

从你的代码很清楚,你指的是这个22sp第一个活动使用“fld_label_size”。第二,你使用的是“fld_stat_size”,它是12sp。建议至少使用14sp来区分和清晰文本。

+0

14sp太大了。 – ciro