【Android项目实战 | 从零开始写app (七) 】优化主页导航栏,禁用主页页面滑动切换效果

文章导航

一、【Android项目实战 | 从零开始写app(一)】 创建项目

二、【Android项目实战 | 从零开始写app(二)】实现闪屏页,启动app

三、【Android项目实战 | 从零开始写app(三)】实现引导页,进入登录or主页面

四、【Android项目实战 | 从零开始写app(四)】Okhttp+Gson实现服务端登录验证功能

五、【Android项目实战 | 从零开始写app(五)】okhttp+gson实现服务端注册功能

六、【Android项目实战 | 从零开始写app (六)】用TabLayout+ViewPager搭建App 框架主页面底部导航栏

七、【Android项目实战 | 从零开始写app (七) 】优化主页导航栏,禁用主页页面滑动切换效果

八、【Android项目实战 | 从零开始写app (八) 】实现app首页广告轮播图切换和搜索跳转

九、【Android项目实战 | 从零开始写app (九) 】实现app首页热门推荐

十、【Android项目实战 | 从零开始写app (十) 】实现app首页九宫格服务分类点击跳转

十一、【Android项目实战 | 从零开始写app (11) 】实现新闻模块数据的解析

十二、【Android项目实战 | 从零开始写app (12) 】实现服务页面数据的解析

十三、【Android项目实战 | 从零开始写app (13) 】实现用户中心模块登录退出登录&信息修改&个人订单列表查看…

十四、【Android项目实战 | 从零开始写app (14) 】实现智慧建党模块…


本篇实现效果:

一般,主页导航页面切换的时候是没有页面滑动的效果的,今天优化一下,自定义适配器,来实现禁止滑动效果,效果如下:
【Android项目实战 | 从零开始写app (七) 】优化主页导航栏,禁用主页页面滑动切换效果_第1张图片
目录:
【Android项目实战 | 从零开始写app (七) 】优化主页导航栏,禁用主页页面滑动切换效果_第2张图片

逻辑功能实现

自定义NoScrollViewPager 继承Viewpager 并重写其中的几个方法:

NoScrollViewPager.class:

package com.example.myapp.adapter;

import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;

import androidx.viewpager.widget.ViewPager;

/**
 * @ProjectName: MyApp
 * @Package: com.example.myapp.adapter
 * @ClassName: NoScrollPagerAdapter
 * @Description:
 * @Author: liyingxia
 * @CreateDate: 2021/4/14 8:56
 */
public class NoScrollViewPager extends ViewPager {
     
    public boolean canScroll = false;

    public NoScrollViewPager(Context context, AttributeSet attrs) {
     
        super(context, attrs);
    }

    public NoScrollViewPager(Context context) {
     
        super(context);
    }


    @Override
    public boolean onTouchEvent(MotionEvent ev) {
     
        return canScroll && super.onTouchEvent(ev);
    }

    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
     
        return canScroll && super.onInterceptTouchEvent(ev);
    }

    @Override
    public void setCurrentItem(int item) {
     
        setCurrentItem(item, false);
    }


}

activity_main.xml:

接着修改activity_main布局文件,在布局文件中引用自定义的类:
将:

<androidx.viewpager.widget.ViewPager/>

修改为下面自定义的类包名,注意包括类名
【Android项目实战 | 从零开始写app (七) 】优化主页导航栏,禁用主页页面滑动切换效果_第3张图片

你可能感兴趣的:(Android,app,移动开发,viewpager)