最近心态不好,一个问题困扰了我这么久。
原以为要自己封闭事件,其实API就已经封装好了:
参考
http://blog.csdn.net/oppo4545/article/details/7690316
http://stackoverflow.com/questions/36881/updating-android-tab-icons
http://www.linuxidc.com/Linux/2011-12/50576.htm
http://stackoverflow.com/questions/3509178/getting-a-photo-from-a-contact Contact ImageView
http://yelinsen.iteye.com/blog/897561 联系人性能优化
这两个组合可以重复使用布局,动态指定图标,代码写好就上上来。供大家参考
其实不用TabActivity与TabHost就可以实现,并且简单很多,ex:
private Button button1; private Button button2; private LinearLayout container; private OnClickListener l = new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub switch(v.getId()){ case R.id.button1: System.out.println("0000"); switchActivity(0); break; case R.id.button2: System.out.println("1111"); switchActivity(1); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button1 = (Button)findViewById(R.id.button1); button2 = (Button)findViewById(R.id.button2); container = (LinearLayout) findViewById(R.id.container); button1.setOnClickListener(l); button2.setOnClickListener(l); switchActivity(0); } private void switchActivity(int id){ container.removeAllViews(); Intent intent = null; switch(id){ case 0: intent = new Intent(this,TestActivity1.class); break; case 1: intent = new Intent(this,TestActivity2.class); break; } intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); Window subActivity = getLocalActivityManager().startActivity("subActivity", intent); container.addView(subActivity.getDecorView(),LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); }
XML:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="窗体1" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="窗体2" /> </LinearLayout> <LinearLayout android:id="@+id/container" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#0000ff"> </LinearLayout> </LinearLayout>