在很多APP第一次启动时都会出现引导页,在一些APP里面还会包括一些左右滑动翻页和页面轮播切换的情况。...setCurrentItem(int item) :设置显示item位置的界面。 setOffscreenPageLimit(int limit) :用来设置当前显示页面左右两边各缓存的页面数。...startUpdate (ViewGroup container) :在展示的界面中有改变将要发生时调用。...finishUpdate (ViewGroup container):展示界面中的改变完成时调用。在这个时间点上,你必须确保所有的页面已被合适的从container中添加或移除。...不知道你是否发现,这是不是就是我们常见的应用程序启动时的引导页,只是示例相对来说比较简单,没有页面指示引导,这一块后续学习再逐步来优化完成。
先上两张图,后面补上代码 我们以前的写法是在需要显示模糊引导的地方,写一个布局,然后第一次使用的时候显示出来。
Android网络与数据存储 第一章学习 ---- 一个启动引导页的制作#### 概要: 这次制作App的引导页,主要用到2个知识“SharedPreferences 和 ViewPager” Genymotion...---- 2.ViewPager##### 先画个图,直观理解下结构顺序 ? 本来想画图的……表达不清,算了…… 那贴个代码,对照着上面这图看看 activity_start.xml ViewPager xmlns:android="http://schemas.android.com/apk/res/android"...) findViewById(R.id.pager); //①通过布局实例化ViewPager mViewPager.setPageTransformer(true, new...好,新建了一个自定义类,必须重写2个重要的方法: getCount():获得viewpager中有多少个view,我这写了2个 getItem(int position):根据position来决定返回哪个
WelcomeActivity分析:在启动页面检测是否是第一次运行程序,如果是,则先跳转到引导界面的Activity——AndyViewPagerActivity;否,则直接跳转到MainActivity...:父布局是RelaytiveLayout;子布局是ViewPager,且ViewPager充满整个屏幕;导航点是4个ImageView且相对父布局底部有一定高度;然后在导航点 上面有一个Button,设置其属性...android:visibility="gone"(当控件visibility属性为INVISIBLE时,界面保留了view控件所占有的空间;而控件属性为GONE时,则界面不保留view控件所占有的空间...PagerAdapter就是一个管理ViewPager各个View的适配器。...,和改变当前界面的小圆点的状态为选中。
原文作者:眾尋 原文链接:https://www.cnblogs.com/ZXdeveloper/p/8391864.html ---- 这两天不忙,所以,做了一个简易的新手引导小Demo。...新手引导功能的话,就是告诉用户,页面上操作的顺序,第一步要做什么,第二步要做什么,以此类推,然后,最终关闭新手引导页面。 以我的习惯,还是先给大家看看效果。...这是由于弹出的引导窗体获取了主窗体的大小,但是Point去获取控件坐标位置的时候,主窗体是不包含头部的,由于遮罩没有头部,所以定位出错了,这个我还没有找到好的解决办法,如果有大神知道如何解决的话,请赐教...显示引导内容的部分,也可以换成一个Grid,这样的话,就可以传入UserControl了,有兴趣的朋友可以自行修改。
viewpager嵌套viewpager 要求:外层不可以滑动,内层可以滑动 实现:重写外层的viewpager的2个方法即可 public class NoScrollViewPager extends...ViewPager { public NoScrollViewPager(Context context) { super(context); }...时什么都不做,让其不能滑动,实现viewpager不能滑动 @Override public boolean onTouchEvent(MotionEvent ev) {...return true; } //事件拦截,false不拦截子控件的事件,让内层的viewpager可以滑动,切不带动外层的viewpager @Override public...目录 用 [TOC]来生成目录: viewpager嵌套viewpager 脚注 目录 数学公式 UML 图 离线写博客 浏览器兼容 数学公式 使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com
学习内容来自“慕课网” 网站上一共有4种方法来实现APP主界面的TAB方法 这里学习第一种 ViewPager实现Tab 布局文件有7个, 主界面acitivity.layout 1 viewpager" 11 android:layout_width="fill_parent" 12...layout_height="0dp" 13 android:layout_weight="1"> 14 15 ViewPager...10 android:id="@+id/id_viewpager" 11 android:layout_width="fill_parent" 12...) findViewById(R.id.id_viewpager); 100 //layout 101 mTabadd = (LinearLayout)
1.创建布局 首先创建一个项目 ,然后再MainActivity的布局文件中放两个控件 ViewPager和RadioGroup。代码如下 ViewPager中添加碎片Fragment,添加五个碎片,因为涉及到项目的机密,所以我这里命名就不那么规范了,就用英文的1~5来命名了 。...viewPager; RadioGroup rg; @Override protected void onCreate(Bundle savedInstanceState) {...(adapter); viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {...(1); break; case R.id.rb_home: viewPager.setCurrentItem(2
让新用户引导结合场景 相比于让用户记住一切,不如适时的给予用户以引导。...符合上下文场景的即时的新用户引导流程,可以作为上述静态展示型引导的替代方案。这种新用户引导流程和之前的方式不同,它是在特定的界面、场景和时刻,或者说特定的用户历程的节点,给用户提供必要的说明。...“Welcome Board”是用户打开Trello 的任务管理面板的时候,能看到的第一个的界面,其中涵盖了预填充的代办事项列表,说明了程序中不同控件的交互和功能,这种方式可以让用户更有效地学习产品的功能...app引导设计充分运用空状态 用户最初使用APP或者网页的时候,许多界面都呈现出“空状态”,所以很有必要将空状态纳入到新用户引导流程中。...对于新用户引导流程而言,空状态界面是一个非常合适的介入点,所以最好不要让它真的就这么“空”下去,有效的用起来才对。 好的空状态设计,能够化腐朽为神奇。 ?
这篇博客主要讲解一下几个问题 粗略地介绍一下View的事件分发机制 解决事件滑动冲突的思路及方法 ScrollView 里面嵌套ViewPager导致的滑动冲突 ViewPager里面嵌套ViewPager...Layout 里面多多个孩子的时候,当下面一个孩子是 RecyclerView 或者ListView 的时候,往往会自动滑动到 ListView 或者 RecyclerView 的第一个 item,导致进入界面的时候会导致...RecyclerView 上面的 View 被滑动到界面之外,看不见,这时候的用户体验是比较差的 即结构如下面的时候 在Activity中的相关解决方法 于是我查找了相关的资料,在Activity中完美解决...view.setFocusable(true); view.setFocusableInTouchMode(true); view.requestFocus(); 这段代码在初始化的时候就让该界面的顶部的某一个控件获得焦点...,如果大家知道怎样处理的 话,欢迎大家提出来 ---- ViewPager里面嵌套ViewPager导致的滑动冲突 内部解决法 从子View ViewPager着手,重写 子View的 dispatchTouchEvent
ViewPager里面嵌套ViewPager ?...Layout 里面多多个孩子的时候,当下面一个孩子是 RecyclerView 或者ListView 的时候,往往会自动滑动到 ListView 或者 RecyclerView 的第一个 item,导致进入界面的时候会导致...RecyclerView 上面的 View 被滑动到界面之外,看不见,这时候的用户体验是比较差的 即结构如下面的时候 ?...view.setFocusable(true); view.setFocusableInTouchMode(true); view.requestFocus(); 这段代码在初始化的时候就让该界面的顶部的某一个控件获得焦点...,如果大家知道怎样处理的 话,欢迎大家提出来 ---- ViewPager里面嵌套ViewPager导致的滑动冲突 内部解决法 从子View ViewPager着手,重写 子View的 dispatchTouchEvent
ViewPager嵌套Fragment 新建4个Fragment; 新建ViewPagerAdapter继承FragmentPagerAdapter; public class ViewpagerAdapter...@Override public int getCount() { return arrayList.size(); } } 在MainActivity中为ViewPager...Fragment4()); viewpagerAdapter= new ViewpagerAdapter(getSupportFragmentManager(),arrayList); viewpager.setAdapter...相关视频 【Android进阶】ViewPager嵌套fragment架构解析
三.通过SharedPreferences实现是否开启引导界面 ---- 首先通过ViewPager实现引导界面,ViewPager有点类似于AdapterView,AdapterView需借助于Adapter...、初始化position位置的界面、判断是否由对象生成界面以及销毁position位置的界面。...然后在要显示引导界面的视图中加入ViewPager标签,加入ViewPager标签之前,应该导入v4包,因为ViewPager属于v4包中,带入v4包: compile files('libs/android-support-v4...finish(); break; } } } 在这里首先实现了通过SharedPreferences判断是否第一次打开该应用,如果是第一次打开,就开启引导界面...,如果不是,直接进入主界面。
移动APP引导页指的是用户正式进入移动APP之前,短暂停留在手机界面的指引性页面,通常来说有单幅的介绍式、3~5幅的故事描述式或者情感体验式等。 ?...从某个层面来说,启动引导页是用户对移动APP的第一印象,影响着用户对产品的整体感受。移动APP的引导页一般类型如下: ?...简约明了的功能介绍 移动APP的引导页也被称为闪屏界面、启动界面、欢迎界面或者开机屏。绝大部分的移动APP首次发布的时候,都会以功能介绍作为引导页。...品牌文化的传递窗口 对于一个移动APP而言,引导页就是用户打开移动APP之后看到的第一个界面,决定了用户对APP的好感度与兴趣度,在正式使用APP之前,都会抱有一种期待,而引导页设计的好坏直接影响了用户的第一印象...品牌应该重视引导页的设计研究,制作出更多能够体现品牌设计情怀、社会责任感、企业品质的引导页,使移动APP引导页朝着多元化的方向发展。 ?
前言:前几篇文章讲解了ViewPager的普通实现方法,但android官方最推荐的一种实现方法却是使用fragment,下面我们使用fragment来重新实现一下第一篇《ViewPager 详解(一)...系列文章: 1、《ViewPager 详解(一)—基本入门》 2、《ViewPager 详解(二)—详解四大函数》 3、《ViewPager 详解(三)—PagerTabStrip与PagerTitleStrip...添加标题栏的异同》 4、《ViewPager 详解(四)—-自主实现滑动指示条》 其它相关文章: 5、《Android Fragment完全解析,关于碎片你所需知道的一切》 6、《fragment中嵌套...When using FragmentPagerAdapter the host ViewPager must have a valid ID set....vp = (ViewPager)findViewById(R.id.viewpager); vp.setAdapter(adapter); } } 首先有一个最值得注意的地方
import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7...("2"); mDataList.add("3"); mDataList.add("4"); mDataList.add("5"); ViewPager...viewPager = findViewById(R.id.viewPager); viewPager.setAdapter(mPagerAdapter = new PagerAdapter
这两天浏览安卓开发者官网的时候,发现google悄然推出了一个新的控件:ViewPager2,一看名称就知道这是一个和我们常用的ViewPager功能相似的控件,算是ViewPager的升级版吧。...ViewPager2的源码不长,我们来简单分析一下。...简单解析 通过查看源码得知,ViewPager2是直接继承ViewGroup的,意味着和ViewPager不兼容,类注释上也写了它的作用是取代ViewPager,不过短时间内ViewPager应该还不会被废弃掉...使用 通过android:orientation来指定滚动方向 viewpager2.widget.ViewPager2 android:id="@+id/viewpager2...小结 viewpager2利用recyclerview来实现viewpager的功能,无疑使使其可扩展性大大提升,代码也变得更优雅简洁,使用起来也更灵活。
ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view。...ViewPager类直接继承了ViewGroup类,所以它是一个容器类,可以在其中添加其他的view类。 ViewPager类需要一个PagerAdapter适配器类给它提供数据。...ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPagerAdapter和FragmentStatePagerAdapter类供Fragment中的ViewPager使用...vpGuide; private ArrayList mImageViewList; private LinearLayout llPointGroup;// 引导圆点的父控件...vpGuide.setAdapter(new GuideAdapter()); vpGuide.setOnPageChangeListener(new GuidePageListener()); } /** * 初始化界面
ViewPager源码来实现就会简单得多。...以下分析基于androidx.viewpager.widget.ViewPager的源码(androidx是啥?...,mIsBeingDragged=true,想想平时对一个滚动中的ViewPager按下去,ViewPager是先暂停下来,然后可以继续滑动。...搜索ViewPager的addView方法,虽然覆写了,但ViewPager内部没有任何调用,真是神奇。...就把当前item的view添加到ViewPager里。
领取专属 10元无门槛券
手把手带您无忧上云