首先要说的是,界面滑动,就需要多个view来进行切换,实际上可以用一个ArrayList<View> pageViews来保存这些view的信息,然后进行切换
LayoutInflater inflater = getLayoutInflater(); pageViews = new ArrayList<View>(); pageViews.add(inflater.inflate(R.layout.item01, null)); pageViews.add(inflater.inflate(R.layout.item02, null)); pageViews.add(inflater.inflate(R.layout.item03, null));
然后定义每一个item01,item02,item03的xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/feature_guide_0" > </ImageView> </LinearLayout> </LinearLayout>
我在上面写的是一个比较简单的imageview来做一个item,
这里不得不说必须定义一个class GuidPageChangeListener 继承 OnPageChangeListener的接口来实现view之间的切换
public void onPageSelected(int arg0) { // TODO Auto-generated method stub for (int i = 0; i < imageViews.length; i++) { imageViews[arg0] .setBackgroundResource(R.drawable.page_indicator_focused); if (arg0 != i) { imageViews[i] .setBackgroundResource(R.drawable.page_indicator); } } }这里还需要一个适配器PagerAdapter类,我们写一个自己的类来继承它
class GuidPageAdapter extends PagerAdapter
主要引用的方法如下
class GuidPageAdapter extends PagerAdapter { @Override public int getCount() { // TODO Auto-generated method stub return pageViews.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0 == arg1; } @Override public void destroyItem(View arg0, int arg1, Object arg2) { // TODO Auto-generated method stub ((ViewPager) arg0).removeView(pageViews.get(arg1)); } @Override public Object instantiateItem(View arg0, int arg1) { // TODO Auto-generated method stub ((ViewPager) arg0).addView(pageViews.get(arg1)); return pageViews.get(arg1); } }
这样就可以实现一个简单的view左右滑动的切换,这个切换时全屏幕的切换,关于半屏的滑动切换后面再续
转载请注明出处
http://blog.csdn.net/pishum/article/details/38024331