<LinearLayout
。。。。。。。。。。
<FrameLayout
android:id="@+id/id_content"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<include layout="@layout/bottom" />
</LinearLayout>
1 package com.imooc.tab02; 2 3 import android.os.Bundle; 4 import android.support.v4.app.Fragment; 5 import android.support.v4.app.FragmentActivity; 6 import android.support.v4.app.FragmentManager; 7 import android.support.v4.app.FragmentTransaction; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.view.Window; 11 import android.widget.ImageButton; 12 import android.widget.LinearLayout; 13 14 public class MainActivity extends FragmentActivity implements OnClickListener { 15 private LinearLayout mTabWeixin; 16 private LinearLayout mTabFrd; 17 private LinearLayout mTabAddress; 18 private LinearLayout mTabSettings; 19 20 private ImageButton mImgWeixin; 21 private ImageButton mImgFrd; 22 private ImageButton mImgAddress; 23 private ImageButton mImgSettings; 24 25 private Fragment mTab01; 26 private Fragment mTab02; 27 private Fragment mTab03; 28 private Fragment mTab04; 29 30 @Override 31 protected void onCreate(Bundle savedInstanceState) { 32 super.onCreate(savedInstanceState); 33 34 requestWindowFeature(Window.FEATURE_NO_TITLE); 35 setContentView(R.layout.activity_main); 36 37 initView(); 38 initEvent(); 39 setSelect(0); 40 } 41 42 private void initEvent() { 43 mTabWeixin.setOnClickListener(this); 44 mTabFrd.setOnClickListener(this); 45 mTabAddress.setOnClickListener(this); 46 mTabSettings.setOnClickListener(this); 47 } 48 49 private void initView() { 50 mTabWeixin = (LinearLayout) findViewById(R.id.id_tab_weixin); 51 mTabFrd = (LinearLayout) findViewById(R.id.id_tab_frd); 52 mTabAddress = (LinearLayout) findViewById(R.id.id_tab_address); 53 mTabSettings = (LinearLayout) findViewById(R.id.id_tab_settings); 54 55 mImgWeixin = (ImageButton) findViewById(R.id.id_tab_weixin_img); 56 mImgFrd = (ImageButton) findViewById(R.id.id_tab_frd_img); 57 mImgAddress = (ImageButton) findViewById(R.id.id_tab_address_img); 58 mImgSettings = (ImageButton) findViewById(R.id.id_tab_settings_img); 59 } 60 61 private void setSelect(int i) { 62 FragmentManager fm = getSupportFragmentManager(); 63 FragmentTransaction transaction = fm.beginTransaction(); 64 hideFragment(transaction); 65 // 把图片设置为亮的 66 // 设置内容区域 67 switch (i) { 68 case 0: 69 if (mTab01 == null) { 70 mTab01 = new WeixinFragment(); 71 transaction.add(R.id.id_content, mTab01); 72 } else { 73 transaction.show(mTab01); 74 } 75 mImgWeixin.setImageResource(R.drawable.tab_weixin_pressed); 76 break; 77 case 1: 78 if (mTab02 == null) { 79 mTab02 = new FrdFragment(); 80 transaction.add(R.id.id_content, mTab02); 81 } else { 82 transaction.show(mTab02); 83 } 84 mImgFrd.setImageResource(R.drawable.tab_find_frd_pressed); 85 break; 86 case 2: 87 if (mTab03 == null) { 88 mTab03 = new AddressFragment(); 89 transaction.add(R.id.id_content, mTab03); 90 } else { 91 transaction.show(mTab03); 92 } 93 mImgAddress.setImageResource(R.drawable.tab_address_pressed); 94 break; 95 case 3: 96 if (mTab04 == null) { 97 mTab04 = new SettingFragment(); 98 transaction.add(R.id.id_content, mTab04); 99 } else { 100 transaction.show(mTab04); 101 } 102 mImgSettings.setImageResource(R.drawable.tab_settings_pressed); 103 break; 104 105 default: 106 break; 107 } 108 109 transaction.commit(); 110 } 111 112 private void hideFragment(FragmentTransaction transaction) { 113 if (mTab01 != null) { 114 transaction.hide(mTab01); 115 } 116 if (mTab02 != null) { 117 transaction.hide(mTab02); 118 } 119 if (mTab03 != null) { 120 transaction.hide(mTab03); 121 } 122 if (mTab04 != null) { 123 transaction.hide(mTab04); 124 } 125 } 126 127 @Override 128 public void onClick(View v) { 129 resetImgs(); // 切换图片至暗色 130 switch (v.getId()) { 131 case R.id.id_tab_weixin: 132 setSelect(0); 133 break; 134 case R.id.id_tab_frd: 135 setSelect(1); 136 break; 137 case R.id.id_tab_address: 138 setSelect(2); 139 break; 140 case R.id.id_tab_settings: 141 setSelect(3); 142 break; 143 144 default: 145 break; 146 } 147 } 148 149 /** 150 * 切换图片至暗色 151 */ 152 private void resetImgs() { 153 mImgWeixin.setImageResource(R.drawable.tab_weixin_normal); 154 mImgFrd.setImageResource(R.drawable.tab_find_frd_normal); 155 mImgAddress.setImageResource(R.drawable.tab_address_normal); 156 mImgSettings.setImageResource(R.drawable.tab_settings_normal); 157 } 158 159 }
DEMO下载地址:http://download.csdn.net/detail/androidsj/9354303