实现的目标效果就是类似手机QQ的界面。关键代码如下:
1.准备
LayoutInflater mLayout;//tabhost界面
FragmentTabHost tHost;//tabhost标签项
final int images[]={R.drawable.btn_back_selector,R.drawable.test_ena,R.drawable.test_ena,R.drawable.test_ena,R.drawable.test_ena};//标签项的图片资源
final String[] strs={"1","2","3","4","5",};//标签项的字体资源
final Class<?> fragement[]={Fragment1.class,Fragment2.class,Fragment3.class,Fragment4.class,Fragment5.class,};//子标签页的填充界面
2.初始化
//初始化标签列表界面
private void initView() {
mLayout=LayoutInflater.from(this);
tHost=(FragmentTabHost) findViewById(android.R.id.tabhost);
tHost.setup(getApplicationContext(), getSupportFragmentManager(), R.id.frame1);
for(int i=0;i<strs.length;i++)
{
TabSpec ts=tHost.newTabSpec(strs[i]).setIndicator(getView(i));
tHost.addTab(ts, fragement[i],null);
tHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.RED);
}
}
//初始化单个标签项
private View getView(int i) {
View v=mLayout.inflate(R.layout.test_tabhost, null);
ImageView imageView=(ImageView) v.findViewById(R.id.imageView1);
imageView.setImageResource(images[i]);
TextView textView=(TextView) v.findViewById(R.id.textView1);
textView.setText(strs[i]);
return v;
}