Android 界面优化二:界面滑动

今天想在界面加入一个滑动的功能,看起来比较炫,也没什么实用性,单纯的好看而已。

使用了ViewPager方法;下面贴代码:

首先在主界面里面创建:(注意,一般只能用在常见布局下面,一些特殊的布局下面或者包布局还是无法实现此功能的)

<android.support.v4.view.ViewPager
    android:id="@+id/viewpager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"/>

然后在后台代码onCreate中添加以下代码:

viewPager = (ViewPager)findViewById(R.id.viewpager);
LayoutInflater inflater = getLayoutInflater().from(Main.this);
statioManage = inflater.inflate(R.layout.station_manage,null);
histRecord = inflater.inflate(R.layout.hist_record,null);
user = inflater.inflate(R.layout.user,null);

viewList = new ArrayList<View>();
viewList.add(statioManage);
viewList.add(histRecord);
viewList.add(user);
//引用适配器
PagerAdapter pagerAdapter = new PagerAdapter(viewList);
viewPager.setAdapter(pagerAdapter);

PagerAdapter是一个我在网上找到的一个配置器,忘了在哪篇文章里找的了,若看到请联系我,下面把这个适配器代码如下:

public class PagerAdapter extends PagerAdapter {
    public List<View> viewList;

    public PagerAdapter(List<View> viewList) {
        this.viewList = viewList;
    }

    /*下面四个函数是一定要重写的*/
    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
        //判断instantiateItem(ViewGroup, int)函数所返回来的Key与一个页面视图是否是代表的同一个视图(判断key)
        // TODO Auto-generated method stub
        return arg0 == arg1;
    }

    @Override
    public int getCount() {//返回要滑动的VIew的个数
        // TODO Auto-generated method stub
        return viewList.size();
    }

    @Override
    public void destroyItem(ViewGroup container, int position,
                            Object object) {//从当前container中删除指定位置(position)的View;
        // TODO Auto-generated method stub
        container.removeView(viewList.get(position));
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        //实例化:将当前视图添加到container中,并返回当前View(传送key)
        // TODO Auto-generated method stub
        container.addView(viewList.get(position));

        return viewList.get(position);
    }
}

写上基本就可以用了,有关事项也写清了,有问题请留言。

猜你喜欢

转载自blog.csdn.net/weixin_42270094/article/details/83621566