zoukankan      html  css  js  c++  java
  • android关于实现滑动界面

    首先要说的是,滑动界面,我们需要一个以上的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



    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    SQL面试题集合
    绕过UAC提示以管理员身份运行程序
    一个在VS2010中不能加载项目的问题
    Windows下硬链接、软链接和快捷方式的区别
    自动化测试中FindWindow与FindWindowEx的使用示例
    在C#中调用批处理文件
    windows的自动登陆问题
    PowerShell操作XML遇到的问题
    MySQL集群MGR架构for单主模式
    MySQL集群MGR架构for多主模式
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4652315.html
Copyright © 2011-2022 走看看