飞道的博客

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

456人阅读  评论(0)

文章导航

一、【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)】实现智慧建党模块…


本篇实现效果:

一般,主页导航页面切换的时候是没有页面滑动的效果的,今天优化一下,自定义适配器,来实现禁止滑动效果,效果如下:

目录:

逻辑功能实现

自定义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/>

修改为下面自定义的类包名,注意包括类名


转载:https://blog.csdn.net/weixin_43853746/article/details/115689794
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场