Android ViewPager实现左右滑动的实例

Android ViewPager实现左右滑动的实例

多个标题以及标题下的每个View视图

<com.shizhefei.view.indicator.ScrollIndicatorView
   android:id="@+id/moretab_indicator"
   android:layout_width="match_parent"
   android:layout_height="45dp" />
 <View
   android:layout_width="match_parent"
   android:layout_height="0.5dp"
   android:background="#f2f2f2"
   />
 <android.support.v4.view.ViewPager
   android:id="@+id/moretab_viewPager"
   android:layout_width="match_parent"
   android:layout_height="match_parent" />

在build.gradle添加包:

//左右滑动布局框架
 compile 'com.shizhefei:ViewPagerIndicator:1.1.4' 

然后在代码中实现功能:

ScrollIndicatorView scrollIndicatorView;
  ViewPager viewPager;
  private String[] titles = {"在线申办", "信用卡代换", "信用卡取现", "办卡进度"};
  private IndicatorViewPager indicatorViewPager;
  private LayoutInflater inflate;
  private Context mContext; 

 private void initViewPager() {
//    默认字体是14
    float unSelectSize = 14;
//    滑动字体是14*1.2f
    float selectSize = unSelectSize;
    scrollIndicatorView.setOnTransitionListener(new OnTransitionTextListener().setColor(0xFF1DA9FF, Color.GRAY).setSize(selectSize, unSelectSize));
    scrollIndicatorView.setScrollBar(new ColorBar(mContext, 0xFF1DA9FF, 2)); 

    viewPager.setOffscreenPageLimit(1);
    indicatorViewPager = new IndicatorViewPager(scrollIndicatorView, viewPager);
    inflate = LayoutInflater.from(mContext);
    indicatorViewPager.setAdapter(new MyAdapter(getFragmentManager()));
  } 

  private int size = titles.length; 

  private class MyAdapter extends IndicatorViewPager.IndicatorFragmentPagerAdapter { 

    public MyAdapter(FragmentManager fragmentManager) {
      super(fragmentManager);
    } 

    @Override
    public int getCount() {
      return size;
    } 

    @Override
    public View getViewForTab(int position, View convertView, ViewGroup container) {
      if (convertView == null) {
        convertView = inflate.inflate(R.layout.tab_top, container, false);
      }
      TextView textView = (TextView) convertView;
      textView.setText(titles[position % titles.length]);
      int padding = dipToPix(10);
      textView.setPadding(padding, 0, padding, 0);
      return convertView;
    } 

    @Override
    public Fragment getFragmentForPage(int position) {
      CreditCardFragment fragment = new CreditCardFragment();
      /* Bundle bundle = new Bundle();
      bundle.putInt(MoreFragment.INTENT_INT_INDEX, position);
      fragment.setArguments(bundle);*/
      return fragment; 

//      MoreFragment fragment = new MoreFragment();
//      Bundle bundle = new Bundle();
//      bundle.putInt(MoreFragment.INTENT_INT_INDEX, position);
//      fragment.setArguments(bundle);
//      return fragment;
    } 

    @Override
    public int getItemPosition(Object object) {
      //这是ViewPager适配器的特点,有两个值 POSITION_NONE,POSITION_UNCHANGED,默认就是POSITION_UNCHANGED,
      // 表示数据没变化不用更新.notifyDataChange的时候重新调用getViewForPage
      return PagerAdapter.POSITION_NONE;
    } 

  } 

  private int dipToPix(float dip) {
    int size = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, getResources().getDisplayMetrics());
    return size;
  }

以上就是实现Android ViewPager左右滑动的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Android 修改viewpage滑动速度的实现代码

    1.自定义Scroller public class ViewPageFixedSpeedScroller extends Scroller { private int mDuration = 300; public ViewPageFixedSpeedScroller(Context context) { super(context); // TODO Auto-generated constructor stub } public ViewPageFixedSpeedScroller(Con

  • Android view随触碰滑动效果

    主要思路是通过父布局的onTouch(),方法,获取滑动到的位置和点击下的位置,再去设置子view的位置.我的代码中考虑了在边缘情况.需要注意的是,使用RelativeLayout,以imageView为例.从测试结果来看,bottomMargin 和rightMargin 性能非常差,最好还是用leftMargin与topMargin定位. 下面是运行效果: 布局文件里面就是一个Relativelayout中有一个ImageView.如下 <?xml version="1.0"

  • Android模仿美团顶部的滑动菜单实例代码

    前言 本文主要给大家介绍了关于Android模仿美团顶部滑动菜单的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 先来看下效果图: 实现方法 这是通过 ViewPager 和 GridView 相结合做出来的效果,每一个 ViewPager 页面都是一个 GridView,底部的每个滑动指示圆点都是从布局文件中 inflate 出来的 首先需要一个代表每个活动主题的 JavaBean /** * Created by CZY on 2017/6/23. */ publ

  • Android自定义滑动解锁控件使用详解

    最近的项目里用到了,在网上找不到合适的,于是自己写了个简单的,带回弹效果: 可以自定义的属性有: <!-- 滑动解锁控件 xml配置属性 --> <declare-styleable name="SlideToUnlockView"> <attr name="slideImageViewWidth" format="dimension"/><!-- 滑块宽度 --> <attr name=&q

  • Android实现简单底部导航栏 Android仿微信滑动切换效果

    Android仿微信滑动切换最终实现效果: 大体思路: 1. 主要使用两个自定义View配合实现; 底部图标加文字为一个自定义view,底部导航栏为一个载体,根据需要来添加底部图标; 2. 底部导航栏的设置方法类似于TabLayout的关联,View需要创建关联方法,用来关联VIewPager; 3. 通过关联方法获取ViewPager实例后,根据ViewPager页面数创建底部导航栏的图标按钮; 代码实现: 1. 新建第一个自定义View, 图标 + 文字 的底部按钮; /** * 自定义控件

  • Android使用ViewPager实现图片滑动预览效果

    本文为大家分享了Android ViewPager实现图片滑动预览效果展示的具体代码,供大家参考,具体内容如下 效果图: 滑动前: 滑动后: 代码非常简单,实现起来很容易 xml代码: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/ap

  • Android 滑动监听的实例详解

    Android 滑动监听的实例详解 摘要: ScollBy,ScollTo是对内容的移动,view.ScollyBy是对view的内容的移动 view,ScollTo是对内容的移动(移动到指定位置),view.ScollyBy是对view的内容的移动(移动距离) 在次activity中,当手指点击TextView ,此时是ViewGroup 响应还是TextView响应呢? 代码实践: 在activity中重写onTouchEvent(): public boolean onTouchEvent

  • Android ViewPager实现左右滑动的实例

    Android ViewPager实现左右滑动的实例 多个标题以及标题下的每个View视图 <com.shizhefei.view.indicator.ScrollIndicatorView android:id="@+id/moretab_indicator" android:layout_width="match_parent" android:layout_height="45dp" /> <View android:la

  • Android ViewPager无限循环滑动并可自动滚动完整实例

    对于ViewPager 广告页这个功能很多APP都有这个功能在网上也看过一些资料,我就在这把我自己完整的实现方法写出来吧 基础的ViewPager: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="ma

  • Android ViewPager撤消左右滑动切换功能实现代码

    最近做项目要求某种情况下ViewPager不能滑动,那么我们只需要重写这个方法就可以禁止ViewPager滑动.下面通过本文给大家ViewPager取消左右滑动切换功能的实例代码,具体代码如下所示: IndexViewPager.Java: <span style="background-color: rgb(255, 255, 255);">import android.content.Context; import android.support.v4.view.Vie

  • Android ViewPager + Fragment实现滑动页面效果

    效果: PagerData类: package com.cloud.viewpagerdemo; import java.io.Serializable; class PagerData implements Serializable { private int mImageResId; private String mContent; PagerData(int imageResId, String content) { mImageResId = imageResId; mContent =

  • Android ViewPager实现无限循环的实例

    Android ViewPager实现无限循环的实例 ViewPager自身并不支持左右无限循环的功能,这里就提供一种方案让Android ViewPager实现左右无限循环的功能,这里记录下: 用于显示的mViews,比数据源mList,多了两个节点元素(头节点0:b和尾节点5:e用于跳转) 下图的不带箭头的红线,是mViews根据mList初始化的情况:带箭头的红线是跳转的情况. 首先还是布局文件: <RelativeLayout xmlns:android="http://schem

  • Android ViewPager实现左右滑动翻页效果

    本文实例为大家分享了ViewPager实现左右滑动翻页效果展示的具体代码,供大家参考,具体内容如下 代码如下: package com.example.demo; import java.util.ArrayList; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.support.v4.view.PagerAdapter; import a

  • Android之禁止ViewPager滑动实现实例

    Android之禁止ViewPager滑动实现实例 当我们想在同一个Activity或者Fragment中展示多个页面时往往会用到ViewPager,通过滑动,我们可以很方便地在不同的页面中切换.但是在某些情况下我们可能并不需要通过滑动来切换ViewPager中的页面(比如为了避免跟页面内的某些触摸事件冲突),而是希望只点击下面或者上面的按钮来切换页面.像知乎那样: 那么有什么方法可以实现不滑动ViewPager呢?其实很简单,只需要自定义一个不滑动的ViewPager就可以了.ViewPage

  • Android viewpager在最后一页滑动之后跳转到主页面的实例代码

    先给大家说下实现思路 主要有是两个监听: 一是addOnPageChangeListener();二是setOnTouchListener(): addOnPageChangeListener()主要是为了获取position(滑动到了第几页) setOnTouchListener()主要是判断在最后一页中是否向左滑动了,然后进入主页 在没给大家分享代码之前,先给大家展示下效果图: 主要功能代码 addOnPageChangeListener(); viewPager.addOnPageChan

  • Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法

    本文实例讲述了Android编程开发ScrollView中ViewPager无法正常滑动问题解决方法.分享给大家供大家参考,具体如下: 这里主要介绍如何解决ViewPager在ScrollView中滑动经常失效.无法正常滑动问题. 解决方法只需要在接近水平滚动时ScrollView不处理事件而交由其子View(即这里的ViewPager)处理即可,重写ScrollView的onInterceptTouchEvent函数,如下: package cc.newnews.view; import an

随机推荐