1.建立4個Fragment
2.建立對應的4個xml
3.建立top.xml / bottom.xml,用于插入activity_main.xml
4.activity_main.xml
5.Java代碼
------------------------------------------------------------------------------------------------------------------------
public class TabOne extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.tab01, container ,false);
}
}
------------------------------------------------------------------------------------------------------------------------
<TextView
android:id="@+id/tab_tv_01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:text="最新"
android:textSize="30sp"
android:textStyle="bold" />
------------------------------------------------------------------------------------------------------------------------
------------->top.xml
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="7dp"
android:text="音樂播放器" />
------------->bottom.xml
<LinearLayout
android:id="@+id/ll_new"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/ll_new_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:clickable="false"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最新" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_many"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/ll_many_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:clickable="false"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="曲庫" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_serch"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/ll_serch_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:clickable="false"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="搜尋" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_mine"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical" >
<ImageButton
android:id="@+id/ll_mine_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:clickable="false"
android:src="@drawable/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我的" />
</LinearLayout>
------------------------------------------------------------------------------------------------------------------------
----------------------->activity_main.xml
<!-- 引入頂部 -->
<include layout="@layout/top" />
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" >
</android.support.v4.view.ViewPager>
<!-- 引入底部 -->
<include layout="@layout/bottom" />
------------------------------------------------------------------------------------------------------------------------
Java代碼
public class MainActivity extends FragmentActivity implements OnClickListener {
private ViewPager viewPager;
private FragmentPagerAdapter adapter;
private List<Fragment> mFragment;
private LinearLayout ll_new, ll_many, ll_serch, ll_mine;
private ImageButton ll_new_btn, ll_many_btn, ll_serch_btn, ll_mine_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
initView();
initEvent();
setSelect(3);
}
private void initEvent() {
ll_new.setOnClickListener(this);
ll_many.setOnClickListener(this);
ll_serch.setOnClickListener(this);
ll_mine.setOnClickListener(this);
}
private void initView() {
viewPager = (ViewPager) findViewById(R.id.viewPager);
ll_new = (LinearLayout) findViewById(R.id.ll_new);
ll_many = (LinearLayout) findViewById(R.id.ll_many);
ll_serch = (LinearLayout) findViewById(R.id.ll_serch);
ll_mine = (LinearLayout) findViewById(R.id.ll_mine);
ll_new_btn = (ImageButton) findViewById(R.id.ll_new_btn);
ll_many_btn = (ImageButton) findViewById(R.id.ll_many_btn);
ll_serch_btn = (ImageButton) findViewById(R.id.ll_serch_btn);
ll_mine_btn = (ImageButton) findViewById(R.id.ll_mine_btn);
mFragment = new ArrayList<Fragment>();
Fragment mTab01 = new TabOne();
Fragment mTab02 = new TabTwo();
Fragment mTab03 = new TabThree();
Fragment mTab04 = new TabFour();
mFragment.add(mTab01);
mFragment.add(mTab02);
mFragment.add(mTab03);
mFragment.add(mTab04);
adapter = new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
// TODO Auto-generated method stub
return mFragment.size();
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return mFragment.get(arg0);
}
};
viewPager.setAdapter(adapter);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.ll_new:
setSelect(0);
break;
case R.id.ll_many:
setSelect(1);
break;
case R.id.ll_serch:
setSelect(2);
break;
case R.id.ll_mine:
setSelect(3);
break;
}
}
private void setSelect(int i) {
setTab(i);
switch (i) {
case 0:
ll_new_btn.setImageResource(R.drawable.ic_launcher_n);
break;
case 1:
ll_many_btn.setImageResource(R.drawable.ic_launcher_n);
break;
case 2:
ll_serch_btn.setImageResource(R.drawable.ic_launcher_n);
break;
case 3:
ll_mine_btn.setImageResource(R.drawable.ic_launcher_n);
break;
}
viewPager.setCurrentItem(i);
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
int currentItem = viewPager.getCurrentItem();
setTab(currentItem);
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
});
}
private void restPng() {
ll_new_btn.setImageResource(R.drawable.ic_launcher);
ll_many_btn.setImageResource(R.drawable.ic_launcher);
ll_serch_btn.setImageResource(R.drawable.ic_launcher);
ll_mine_btn.setImageResource(R.drawable.ic_launcher);
}
private void setTab(int i){
restPng();
switch (i) {
case 0:
ll_new_btn.setImageResource(R.drawable.ic_launcher_n);
break;
case 1:
ll_many_btn.setImageResource(R.drawable.ic_launcher_n);
break;
case 2:
ll_serch_btn.setImageResource(R.drawable.ic_launcher_n);
break;
case 3:
ll_mine_btn.setImageResource(R.drawable.ic_launcher_n);
break;
}
}
}
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------