引导页面主要用了就是viewpager滑动,本设计中真对每一个页面都放了一个button(都得听设计的),点击按钮进入主页面,主页面就象征了一个界面就不放代码了。本文主要完成导航页面。小圆点直接嵌入图片了。
主要进行对viewpager适配的解释,注意button是每个view中的button,需要view.一下。
button的设计用了shape 可以参考http://www.cnblogs.com/tinyphp/p/3829895.html
每张图片占一个布局。
跳转的页面别忘了在manifest里面添加。
public class MainActivity extends ActionBarActivity implements OnClickListener{
private ViewPager viewPager;
private View view1,view2,view3,view4;
private List<View> viewlist;
private Button bt_1,bt_2,bt_3,bt_4;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
viewPager = (ViewPager) findViewById(R.id.viewpager);
LayoutInflater inflater = getLayoutInflater();
view1 = inflater.inflate(R.layout.layout1, null);
view2 = inflater.inflate(R.layout.layout2, null);
view3 = inflater.inflate(R.layout.layout3, null);
view4 = inflater.inflate(R.layout.layout4, null);
viewlist = new ArrayList<View>();
viewlist.add(view1);
viewlist.add(view2);
viewlist.add(view3);
viewlist.add(view4);
bt_1 = (Button) view1.findViewById(R.id.bt_1);
bt_2 = (Button) view2.findViewById(R.id.bt_2);
bt_3 = (Button) view3.findViewById(R.id.bt_3);
bt_4 = (Button) view4.findViewById(R.id.bt_4);
bt_1.setOnClickListener(this);
bt_2.setOnClickListener(this);
bt_3.setOnClickListener(this);
bt_4.setOnClickListener(this);
//适配
PagerAdapter adapter = new PagerAdapter() {
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
//根据传来的key,找到view,判断与传来的参数View arg0是不是同一个视图
return arg0 == viewlist.get((int)Integer.parseInt(arg1.toString()));
}
//getCount():返回要滑动的VIew的个数
@Override
public int getCount() {
// TODO Auto-generated method stub
return viewlist.size();
}
//destroyItem():从当前container中删除指定位置(position)的View;
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
// TODO Auto-generated method stub
container.removeView(viewlist.get(position));
}
//instantiateItem():做了两件事,第一:将当前视图添加到container中,第二:返回当前View
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO Auto-generated method stub
container.addView(viewlist.get(position));
//把当前新增视图的位置(position)作为Key传过去
return position;
}
};
viewPager.setAdapter(adapter);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.bt_1:
Intent intent = new Intent(MainActivity.this,Entry.class);
MainActivity.this.startActivity(intent);
finish();
break;
case R.id.bt_2:
Intent intent2 = new Intent(MainActivity.this,Entry.class);
MainActivity.this.startActivity(intent2);
finish();
break;
case R.id.bt_3:
Intent intent3 = new Intent(MainActivity.this,Entry.class);
MainActivity.this.startActivity(intent3);
finish();
break;
case R.id.bt_4:
Intent intent4 = new Intent(MainActivity.this,Entry.class);
MainActivity.this.startActivity(intent4);
finish();
break;
default:
break;
}
}