http://blog.csdn.net/lovehong0306
在用TabWidget的时候会惊奇的发现,那个Tab选项卡竟然不能设置字体大小,而默认的字体竟然是那么的小,很是蛋疼。
怎么办?有两种办法。
第一中就是自定义了
TabHost.TabSpec有个setIndicator(view)方法
将自己写好的View传进去,想要什么样的自己把握,比较灵活。
但是像我这种要求没那么高,就想把字体改大点、设为居中显示就能满足需求的,人又比较懒,不想自定义,怎么办?
前边已经说了有两种办法,第二种办法就是为了满足懒人的需求。
既然GG没有提供相应的方法来实现这些功能,那就干脆直接取得控件(无非就是一个TextView),来个釜底抽薪,想怎么办全由着你了。
for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++)
{
TextView textView = (TextView)tabHost.getTabWidget().getChildAt(i).findViewById(android.R.id.title);
textView.setTextSize(30);
textView.setGravity(Gravity.CENTER);
textView.getLayoutParams().height = LayoutParams.MATCH_PARENT;
textView.getLayoutParams().width = LayoutParams.MATCH_PARENT;
// textView.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 不推荐此种方法
}
此种方法来源于百度,至于是哪位大神发现的就不得而知了。
需要注意的是设置LayoutParams的时候,建议用上边那种。
原因是直接set需要知道该view的父view的类型,然后传入相应类型的LayoutParams,否则会抛出转型异常。
OK,懒人万岁!