非常漂亮的一段代码:
public class TabhostTestActivity extends TabActivity implements
TabContentFactory { private String[] lables = new String[] { "首页", "消息", "朋友", "更多" }; private int[] icons = new int[] { R.drawable.ic_home, R.drawable.ic_msg, R.drawable.ic_friend, R.drawable.ic_more };/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tabhost); TabHost th = getTabHost(); tabHost = getTabHost(); for (int i = 0; i < lables.length; i++) { View view = LayoutInflater.from(this).inflate(R.layout.menu, null); ImageView menu_ic = (ImageView) view.findViewById(R.id.menu_ic); menu_ic.setImageResource(icons[i]); TextView text = (TextView) view.findViewById(R.id.menu_lable); text.setText(lables[i]); tabHost.addTab(tabHost.newTabSpec(String.valueOf(i)).setIndicator(view).setContent(this)); } tabHost.setCurrentTab(0); }@Override
public void onTabChanged(String tabId) { // tabId 为newTabSpec(String tag) 中传入的字符串tag,这里tag是0,1,2,3 可以转换为整形便于判断 int tabID = Integer.valueOf(tabId); for (int i = 0; i < mTabWidget.getChildCount(); i++) { if (i == tabID) { mTabWidget.getChildAt(i).setBackgroundResource( R.drawable.indicator_selected); } else { mTabWidget.getChildAt(i).setBackgroundResource( R.drawable.indicator_unselected); } } }
TabHost通过手势切换Activity
简直帅爆了
2.ViewPager+RadioButton仿QQ效果
原理说的很明白。