类似于微信,点击底部导航切换页面,还可以左右滑动进行切换:
Activity代码 和 适配器代码,如下:
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import com.bwei.adapter.Fragmentpageradapter;
import com.bwei.fragment.Frag2;
import com.bwei.fragment.Frag3;
import com.bwei.fragment.Frag4;
import com.bwei.fragment.frag1;
public class ShowActivity extends FragmentActivity {
private List
list;
private ViewPager viewPager;
private Button button1;
private Button button2;
private Button button3;
private Button button4;
@Override
protected void onCreate(Bundle arg0) {
// TODO Auto-generated method stub
super.onCreate(arg0);
setContentView(R.layout.fgactivity_show);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
viewPager = (ViewPager) findViewById(R.id.viewpager_1);
//Fragment事务管理
FragmentManager supportFragmentManager = getSupportFragmentManager();
list = new ArrayList
();
list.add(new frag1());
list.add(new Frag2());
list.add(new Frag3());
list.add(new Frag4());
viewPager.setAdapter(new Fragmentpageradapter(supportFragmentManager,
list));
//viewPager监听
viewPager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
switch (arg0) {
case 0:
button1.setTextColor(Color.RED);
button2.setTextColor(Color.BLACK);
button3.setTextColor(Color.BLACK);
button4.setTextColor(Color.BLACK);
break;
case 1:
button1.setTextColor(Color.BLACK);
button2.setTextColor(Color.RED);
button3.setTextColor(Color.BLACK);
button4.setTextColor(Color.BLACK);
break;
case 2:
button1.setTextColor(Color.BLACK);
button2.setTextColor(Color.BLACK);
button3.setTextColor(Color.RED);
button4.setTextColor(Color.BLACK);
break;
case 3:
button1.setTextColor(Color.BLACK);
button2.setTextColor(Color.BLACK);
button3.setTextColor(Color.BLACK);
button4.setTextColor(Color.RED);
break;
}
}
@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
}
});
// button监听
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(0);
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(1);
}
});
button3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(2);
}
});
button4.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
viewPager.setCurrentItem(3);
}
});
}
}import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.View;
//Fragment适配器
public class Fragmentpageradapter extends FragmentPagerAdapter {
private List
list;
public Fragmentpageradapter(FragmentManager fm, List
list) {
super(fm);
this.list = list;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return list.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
}