{
    分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

Android引导界面滑动导航+大于等于1页时无限轮播+各种切换动画轮

Android引导界面滑动导航+大于等于1页时无限轮播+各种切换动画轮播效果
BGABanner-Android主要功能:
  • 引导界面导航效果
  • 支持根据服务端返回的数据动态设置广告条的总页数
  • 支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播
  • 支持自定义指示器位置和广告文案位置
  • 支持图片指示器和数字指示器
  • 支持 ViewPager 各种切换动画
  • 支持选中特定页面
  • 支持监听 item 点击事件
  • 加载网络数据时支持占位图设置,避免出现整个广告条空白的情况
  • 多个 ViewPager 跟随滚动
  •  

    )[email protected]~QU463.png (120.9 KB, 下载次数: 6)

    下载附件  保存到相册

    2016-9-25 20:45 上传

     
     
     
     
     
  • 基本使用1.添加Gradle依赖
    1. dependencies {
    2.     compile 'com.nineoldandroids:library:2.4.0'
    3.     compile 'com.android.support:support-v4:latestVersion'
    4.     compile 'cn.bingoogolapple:bga-banner:[email protected]'
    5. }
    复制代码 2.在布局文件中添加BGABanner
    1. <cn.bingoogolapple.bgabanner.BGABanner
    2.     android:id="@+id/banner_guide_content"
    3.     style="@style/MatchMatch"
    4.     app:banner_pageChangeDuration="1000"
    5.     app:banner_pointAutoPlayAble="false"
    6.     app:banner_pointContainerBackground="@android:color/transparent"
    7.     app:banner_pointDrawable="@drawable/bga_banner_selector_point_hollow"
    8.     app:banner_pointTopBottomMargin="15dp"
    9.     app:banner_transitionEffect="alpha" />
    复制代码 3.在Activity或者Fragment中配置BGABanner

    有多种初始化方式,这里仅列出两种方式。

    初始化方式1:通过传入数据模型并结合Adapter的方式初始化

    1. mContentBanner.setAdapter(new BGABanner.Adapter() {
    2.     @Override
    3.     public void fillBannerItem(BGABanner banner, View view, Object model, int position) {
    4.         ((ImageView)view).setImageResource((int)model);
    5.     }
    6. });
    7. mContentBanner.setData(Arrays.asList(R.drawable.ic_guide_1, R.drawable.ic_guide_2, R.drawable.ic_guide_3), null);
    复制代码

    初始化方式2:通过直接传入视图集合的方式初始化

    1. List<View> views = new ArrayList<>();
    2. views.add(BGABannerUtil.getItemImageView(this, R.drawable.ic_guide_1));
    3. views.add(BGABannerUtil.getItemImageView(this, R.drawable.ic_guide_2));
    4. views.add(BGABannerUtil.getItemImageView(this, R.drawable.ic_guide_3));
    5. // 如果你想实现少于3页的无限轮播,请不要用该方式初始化。用「方式1」初始化
    6. mContentBanner.setData(views);
    复制代码 4.监听广告 item 的单击事件
    1. mContentBanner.setOnItemClickListener(new BGABanner.OnItemClickListener() {
    2.     @Override
    3.     public void onBannerItemClick(BGABanner banner, View view, Object model, int position) {
    4.         Log.i(TAG, "点击了第" + (position + 1) + "页");
    5.     }
    6. });
    复制代码 自定义属性说明
    1. <declare-styleable name="BGABanner">
    2.     <!-- 指示点容器背景 -->
    3.     <attr name="banner_pointContainerBackground" format="reference|color" />
    4.     <!-- 指示点背景 -->
    5.     <attr name="banner_pointDrawable" format="reference" />
    6.     <!-- 指示点容器左右内间距 -->
    7.     <attr name="banner_pointContainerLeftRightPadding" format="dimension" />
    8.     <!-- 指示点上下外间距 -->
    9.     <attr name="banner_pointTopBottomMargin" format="dimension" />
    10.     <!-- 指示点左右外间距 -->
    11.     <attr name="banner_pointLeftRightMargin" format="dimension" />
    12.     <!-- 指示器的位置 -->
    13.     <attr name="banner_indicatorGravity">
    14.         <flag name="top" value="0x30" />
    15.         <flag name="bottom" value="0x50" />
    16.         <flag name="left" value="0x03" />
    17.         <flag name="right" value="0x05" />
    18.         <flag name="center_horizontal" value="0x01" />
    19.     </attr>
    20.     <!-- 是否开启自动轮播 -->
    21.     <attr name="banner_pointAutoPlayAble" format="boolean" />
    22.     <!-- 自动轮播的时间间隔 -->
    23.     <attr name="banner_pointAutoPlayInterval" format="integer" />
    24.     <!-- 页码切换过程的时间长度 -->
    25.     <attr name="banner_pageChangeDuration" format="integer" />
    26.     <!-- 页面切换的动画效果 -->
    27.     <attr name="banner_transitionEffect" format="enum">
    28.         <enum name="defaultEffect" value="0" />
    29.         <enum name="alpha" value="1" />
    30.         <enum name="rotate" value="2" />
    31.         <enum name="cube" value="3" />
    32.         <enum name="flip" value="4" />
    33.         <enum name="accordion" value="5" />
    34.         <enum name="zoomFade" value="6" />
    35.         <enum name="fade" value="7" />
    36.         <enum name="zoomCenter" value="8" />
    37.         <enum name="zoomStack" value="9" />
    38.         <enum name="stack" value="10" />
    39.         <enum name="depth" value="11" />
    40.         <enum name="zoom" value="12" />
    41.     </attr>
    42.     <!-- 提示文案的文字颜色 -->
    43.     <attr name="banner_tipTextColor" format="reference|color" />
    44.     <!-- 提示文案的文字大小 -->
    45.     <attr name="banner_tipTextSize" format="dimension" />
    46.     <!-- 加载网络数据时覆盖在BGABanner最上层的占位图 -->
    47.     <attr name="banner_placeholderDrawable" format="reference" />
    48.     <!-- 是否是数字指示器 -->
    49.     <attr name="banner_isNumberIndicator" format="boolean" />
    50.     <!-- 数字指示器文字颜色 -->
    51.     <attr name="banner_numberIndicatorTextColor" format="reference|color" />
    52.     <!-- 数字指示器文字大小 -->
    53.     <attr name="banner_numberIndicatorTextSize" format="dimension" />
    54.     <!-- 数字指示器背景 -->
    55.     <attr name="banner_numberIndicatorBackground" format="reference" />
    56.     <!-- 当只有一页数据时是否显示指示器,默认值为false -->
    57.     <attr name="banner_isNeedShowIndicatorOnOnlyOnePage" format="boolean" />
    58. </declare-styleable>
    复制代码


资源均来自第三方,谨慎下载,前往第三方网站下载


米微资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Android引导界面滑动导航+大于等于1页时无限轮播+各种切换动画轮
喜欢 ()分享 (0)