PagerAdapter类

/*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/7/23 17*/public class GuidePageAdapter extends PagerAdapter {private List<View> views;public GuidePageAdapter(List<View> views) {this.views = views;}@Overridepublic int getCount() {if (views != null) {return views.size();}return 0;}@Overridepublic boolean isViewFromObject(View arg0, Object arg1) {return (arg0 == arg1);}@Overridepublic void destroyItem(View view, int arg1, Object object) {((ViewPager) view).removeView(views.get(arg1));}@Overridepublic Object instantiateItem(final View view, final int current) {((ViewPager) view).addView(views.get(current));return views.get(current);}}

导航类layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/white"android:orientation="vertical" ><android.support.v4.view.ViewPagerandroid:id="@+id/vp_guide"android:layout_width="match_parent"android:layout_height="wrap_content" /><TextViewandroid:id="@+id/myposition"android:layout_width="40dp"android:layout_height="20dp"android:layout_marginTop="10dp"android:background="@drawable/onetebg"android:textColor="@color/titleBlue"android:gravity="center"android:layout_alignParentRight="true"android:text="1"/></RelativeLayout>

onetebg背景样式

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"><!-- 设置透明背景色 --><solid android:color="@color/white" /><!-- 设置一个黑色边框 --><strokeandroid:width="1px"android:color="@color/transparent" /><!-- 设置四个圆角的半径 --><cornersandroid:radius="14dp"/><!-- 设置一下边距,让空间大一点 --><paddingandroid:bottom="0dp"android:left="0dp"android:right="0dp"android:top="0dp" /></shape>

导航类activity

public class ViewPagerActivity extends Activity {private ViewPager vp;private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.guide_activity);initViews();initData();}public void initViews(){vp = (ViewPager) findViewById(R.id.vp_guide);textView =(TextView)findViewById(R.id.myposition);}public void initData(){List<View> guideList = new ArrayList<>();guideList.add(getGuideView(R.drawable.guide_1));guideList.add(getGuideView(R.drawable.guide_2));guideList.add(getGuideView(R.drawable.guide_3));RelativeLayout rl = new RelativeLayout(this);
//        rl.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
//        rl.setBackgroundColor(this.getResources().getColor(R.color.transparent));
//        guideList.add(rl);Log.i("lgq","sss==="+MyApplication.getnScreenWidth()+"..."+ViewGroup.LayoutParams.MATCH_PARENT);GuidePageAdapter vpAdapter = new GuidePageAdapter(guideList);vp.setAdapter(vpAdapter);vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {@Overridepublic void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}@Overridepublic void onPageSelected(int position) {textView.setText(position+1+"/"+3);}@Overridepublic void onPageScrollStateChanged(int state) {}});}private View getGuideView(int nDrawableID) {ImageView iv = new ImageView(this);ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);iv.setLayoutParams(lp);iv.setBackground(this.getResources().getDrawable(R.drawable.guide_1));iv.setScaleType(ImageView.ScaleType.CENTER_INSIDE);iv.setImageResource(nDrawableID);return iv;}
}

activity配置属性

<activity android:name=".ViewPagerActivity"android:configChanges="orientation|keyboardHidden"android:label="@string/app_name"android:screenOrientation="portrait"android:windowSoftInputMode="stateHidden|adjustPan"></activity>

Android 使用ViewPager实现导航页面相关推荐

  1. Android 应用内实现导航页面,接入百度SDK内置导航,高德SDK内置导航

    1.首先到百度地图开放平台创建应用,获取应用AK http://lbsyun.baidu.com/apiconsole/key 2.到百度语言平台创建应用,获取Secret Key和语言APP ID ...

  2. android起始页面与导航页面

    每一次打开QQ或者支付宝都会有一个相同的起始页面,而第一次打开app还会有一个导航页面. 起始页面用一个ImageView 就可以了,而导航页面则需要一个v4包下面的ViewPage. 起始页面代码如 ...

  3. xmarin.android导航栏,android – 如何在xamarin表单中更改导航页面后退按钮

    我想在导航页面中更改后退箭头图像.为此在Android应用程序中我创建了导航页面渲染器,然后使用方法toolbar.SetNavigationIcon和它不工作,但当我使用toolbar.SetLog ...

  4. android tab 切换动画,Android之ViewPager+TabLayout组合实现导航条切换效果(微信和QQ底部多标签切换)...

    前言 之前在另外一篇中用Fragment和button实现了点击切换Fragment的效果,比较简陋.这次改用ViewPager+TabLayout 实现联动的效果. 实现效果 ViewPager 多 ...

  5. 011 Android TabLayout+ViewPager实现顶部滑动效果(多个页面)

    1.TabLayout介绍 TabLayout提供了一个水平的布局用来展示Tabs,很多应用都有这样的设计,典型的有网易新闻,简书,知乎等.TabLayout就可以很好的完成这一职责,首先TabLay ...

  6. android 滑动缩放监听,基于Android的ViewPager动画特效实现页面左右滑动效果(实现缩放...

    基于Android的ViewPager动画特效实现页面左右滑动效果(实现缩放 基于Android的ViewPager动画特效实现页面左右滑动效果(实现缩放和透明效果) 在上一个项目的基础上做修改,项目 ...

  7. Android仿淘宝详情页面viewPager滑动到最后一张图片跳转的功能

    需要做一个仿淘宝客户端ViewPager滑动到最后一页,再拖动的时候跳到详情的功能,刚开始我也迷糊了,通过查阅相关资料发现有好多种实现方法,下面小编给大家分享实例代码,感兴趣的朋友一起看看吧 需要做一 ...

  8. android viewpager标题,ViewPager顶部导航栏联动效果(标题栏条目多)

    如果标题栏过多,超过屏幕的宽度,该怎么弄,下面我们就来解决一下,效果如下: 其实和之前写的也差不多,我就是在哪个demo里面添加和修改了一下,就加了几个title标题,加了几个图片,最重要的是给Tab ...

  9. android仿微信的activity平滑水平切换动画,Android实现简单底部导航栏 Android仿微信滑动切换效果...

    Android实现简单底部导航栏 Android仿微信滑动切换效果 发布时间:2020-10-09 19:48:00 来源:脚本之家 阅读:96 作者:丶白泽 Android仿微信滑动切换最终实现效果 ...

最新文章

  1. Rect 选择感兴趣区域
  2. [再寄小读者之数学篇](2014-11-19 等差数列的部分和)
  3. 分布式系统开发——调度技术
  4. Android接收短信-createFromPdu
  5. 企业级日志收集系统——ELKstack
  6. 高等数学入门教程 — 极限
  7. tensorflow图像分割unet_AAAI2020 | 医学图像分割的Nonlocal UNets
  8. xcode 左侧导航栏 no finder results 问题的解决方法
  9. 垃圾回收机制之复制算法
  10. python高级语法-collections模块下几个新序列
  11. css3实现的the Sexy Buttons
  12. 高性能队列--Disruptor
  13. 网站通过了QQ安全认证了
  14. 迁移pg_塑料包装袋中添加剂迁移到食品和药品中危害健康
  15. (转)PHP利用Curl、socket、file_get_contents POST数据
  16. TransE, TransR
  17. 价值800新视界影视源码全开源源码
  18. Selenium+IP爬虫刷新网页
  19. 华为收入超过阿里腾讯总和!等等,先把鸿蒙说清楚!
  20. 人工智能-统计机器学习-线性回归

热门文章

  1. [css] 如何更改placeholder的字体颜色和大小?
  2. 工作304:uni返回上一页面
  3. 前端学习(2802):完成资讯页面详情
  4. 前端学习(2504):vue指令v-for key
  5. 工作77::配置id传值地址
  6. spring mvc学习(2):spring jar包下载
  7. 第十八期:闲鱼上哪些商品抢手?Python分析后告诉你
  8. 解决html2canvas截取页面部分div黑屏问题
  9. vue中mode的设置
  10. 双指针法(leetcode分类解题,C++代码详细注释)