码迷,mamicode.com
首页 > 移动开发 > 详细

android实现左右滑动界面

时间:2014-07-21 22:21:08      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:android界面左右滑动   view左右滑动   左右切换   全屏幕滑动切换   

首先要说的是,界面滑动,就需要多个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



android实现左右滑动界面

标签:android界面左右滑动   view左右滑动   左右切换   全屏幕滑动切换   

原文地址:http://blog.csdn.net/pishum/article/details/38024331

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!