:running:BGABanner-Android:running:
============
## 目录
* [功能介绍](#功能介绍)
* [效果图与示例 apk](#效果图与示例-apk)
* [常见问题](#常见问题)
* [使用](#使用)
* [自定义属性说明](#自定义属性说明)
* [关于我](#关于我)
* [打赏支持](#打赏支持)
* [License](#license)
## 功能介绍
- [x] 引导界面导航效果
- [x] 支持根据服务端返回的数据动态设置广告条的总页数
- [x] 支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播
- [x] 支持自定义指示器位置和广告文案位置
- [x] 支持图片指示器和数字指示器
- [x] 支持 ViewPager 各种切换动画
- [x] 支持选中特定页面
- [x] 支持监听 item 点击事件
- [x] 加载网络数据时支持占位图设置,避免出现整个广告条空白的情况
- [x] 多个 ViewPager 跟随滚动
## 效果图与示例 apk
![banner](https://cloud.githubusercontent.com/assets/8949716/17557718/dc235ec4-5f4a-11e6-92b7-144a2a1a1e3f.gif)
[点击下载 BGABannerDemo.apk](http://fir.im/BGABannerDemo) 或扫描下面的二维码安装
![BGABannerDemo apk文件二维](http://7xk9dj.com1.z0.glb.clouddn.com/banner/BGABannerDemo.png)
## 常见问题
1. 结合 Fresco 加载图片请参考 [FrescoDemoActivity](https://github.com/bingoogolapple/BGABanner-Android/blob/master/demo/src/main/java/cn/bingoogolapple/bgabanner/demo/ui/activity/FrescoDemoActivity.java)
2. 自定义 item 布局文件请参考 [FrescoDemoActivity](https://github.com/bingoogolapple/BGABanner-Android/blob/master/demo/src/main/java/cn/bingoogolapple/bgabanner/demo/ui/activity/FrescoDemoActivity.java)
## 使用
### 1.添加 Gradle 依赖
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/cn.bingoogolapple/bga-banner/badge.svg)](https://maven-badges.herokuapp.com/maven-central/cn.bingoogolapple/bga-banner) bga-banner 后面的「latestVersion」指的是左边这个 maven-central 徽章后面的「数字」,请自行替换。
```groovy
dependencies {
compile 'com.android.support:support-v4:latestVersion'
compile 'cn.bingoogolapple:bga-banner:latestVersion@aar'
}
```
### 2.在布局文件中添加 BGABanner
```xml
<cn.bingoogolapple.bgabanner.BGABanner
android:id="@+id/banner_guide_content"
style="@style/MatchMatch"
app:banner_pageChangeDuration="1000"
app:banner_pointAutoPlayAble="false"
app:banner_pointContainerBackground="@android:color/transparent"
app:banner_pointDrawable="@drawable/bga_banner_selector_point_hollow"
app:banner_pointTopBottomMargin="15dp"
app:banner_transitionEffect="alpha" />
```
### 3.在 Activity 或者 Fragment 中配置 BGABanner 的数据源
有多种配置数据源的方式,这里仅列出三种方式。更多初始化方式请查看 [demo](https://github.com/bingoogolapple/BGABanner-Android/tree/master/demo),或加网页底部给的 QQ 群咨询
>配置数据源的方式1:通过传入数据模型并结合 Adapter 的方式配置数据源。这种方式主要用于加载网络图片,以及实现少于3页时的无限轮播
```java
mContentBanner.setAdapter(new BGABanner.Adapter<ImageView, String>() {
@Override
public void fillBannerItem(BGABanner banner, ImageView itemView, String model, int position) {
Glide.with(MainActivity.this)
.load(model)
.placeholder(R.drawable.holder)
.error(R.drawable.holder)
.centerCrop()
.dontAnimate()
.into(itemView);
}
});
mContentBanner.setData(Arrays.asList("网络图片路径1", "网络图片路径2", "网络图片路径3"), Arrays.asList("提示文字1", "提示文字2", "提示文字3"));
```
> 配置数据源的方式2:通过直接传入视图集合的方式配置数据源,主要用于自定义引导页每个页面布局的情况
```java
List<View> views = new ArrayList<>();
views.add(BGABannerUtil.getItemImageView(this, R.drawable.ic_guide_1));
views.add(BGABannerUtil.getItemImageView(this, R.drawable.ic_guide_2));
views.add(BGABannerUtil.getItemImageView(this, R.drawable.ic_guide_3));
mContentBanner.setData(views);
```
> 配置数据源的方式3:通过传入图片资源 id 的方式配置数据源,主要用于引导页每一页都是只显示图片的情况
```
mContentBanner.setData(R.drawable.uoko_guide_foreground_1, R.drawable.uoko_guide_foreground_2, R.drawable.uoko_guide_foreground_3);
```
### 4.监听广告 item 的单击事件,在 BGABanner 里已经帮开发者处理了防止重复点击事件
```java
mContentBanner.setDelegate(new BGABanner.Delegate<ImageView, String>() {
@Override
public void onBannerItemClick(BGABanner banner, ImageView itemView, String model, int position) {
Toast.makeText(banner.getContext(), "点击了" + position, Toast.LENGTH_SHORT).show();
}
});
```
### 5.设置「进入按钮」和「跳过按钮」控件资源 id 及其点击事件,如果进入按钮和跳过按钮有一个不存在的话就传 0,在 BGABanner 里已经帮开发者处理了防止重复点击事件,在 BGABanner 里已经帮开发者处理了「跳过按钮」和「进入按钮」的显示与隐藏
```java
mContentBanner.setEnterSkipViewIdAndDelegate(R.id.btn_guide_enter, R.id.tv_guide_skip, new BGABanner.GuideDelegate() {
@Override
public void onClickEnterOrSkip() {
startActivity(new Intent(GuideActivity.this, MainActivity.class));
finish();
}
});
```
## 自定义属性说明
```xml
<declare-styleable name="BGABanner">
<!-- 指示点容器背景 -->
<attr name="banner_pointContainerBackground" format="reference|color" />
<!-- 指示点背景 -->
<attr name="banner_pointDrawable" format="reference" />
<!-- 指示点容器左右内间距 -->
<attr name="banner_pointContainerLeftRightPadding" format="dimension" />
<!-- 指示点上下外间距 -->
<attr name="banner_pointTopBottomMargin" format="dimension" />
<!-- 指示点左右外间距 -->
<attr name="banner_pointLeftRightMargin" format="dimension" />
<!-- 指示器的位置 -->
<attr name="banner_indicatorGravity">
<flag name="top" value="0x30" />
<flag name="bottom" value="0x50" />
<flag name="left" value="0x03" />
<flag name="right" value="0x05" />
<flag name="center_horizontal" value="0x01" />
</attr>
<!-- 是否开启自动轮播 -->
<attr name="banner_pointAutoPlayAble" format="boolean" />
<!-- 自动轮播的时间间隔 -->
<attr name="banner_pointAutoPlayInterval" format="integer" />
<!-- 页码切换过程的时间长度 -->
<attr name="banner_pageChangeDuration" format="integer" />
<!-- 页面切换的动画效果 -->
<attr name="banner_transitionEffect" format="enum">
<enum name="defaultEffect" value="0" />
<enum name="alpha" value="1" />
<enum name="rotate" value="2" />
<enum name="cube" value="3" />
<enum name="flip" value="4" />
<enum name="accordion" value="5" />
<enum name="zoomFade" value="6" />
<enum name="fade" value="7" />
<enum name="zoomCenter" value="8" />
<enum name="zoomStack" value="9" />
<enum name="stack" value="10" />
<enum name="depth" value="11" />
<enum name="zoom" value="12" />
</attr>
<!-- 提示文案的文字颜色 -->
<attr name="banner_tipTextColor" format="reference|color" />
<!-- 提示文案的文字大小 -->
<attr name="banner_tipTextSize" format="dimension" />
<!-- 加载网络数据时覆盖在 BGABanner 最上层的占位图 -->
<attr name="banner_placeholderDrawable" format="reference" />
<!-- 是否是数字指示器 -->
<attr name="banner_isNumberIndicator" format="boolean" />
<!-- 数字指示器文字颜色 -->
<attr name="banner_numberIndicatorTextColor" format="reference|color" />
<!-- 数�
没有合适的资源?快使用搜索试试~ 我知道了~
android引导界面滑动导航以及各种切换动画轮播效果
共85个文件
java:30个
xml:24个
png:17个
需积分: 11 7 下载量 160 浏览量
2017-05-08
20:31:58
上传
评论
收藏 3.26MB ZIP 举报
温馨提示
功能介绍: 引导界面导航效果 支持根据服务端返回的数据动态设置广告条的总页数 支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播 支持自定义指示器位置和广告文案位置 支持图片指示器和数字指示器 支持 ViewPager 各种切换动画 支持选中特定页面 支持监听 item 点击事件 加载网络数据时支持占位图设置,避免出现整个广告条空白的情况 多个 ViewPager 跟随滚动
资源推荐
资源详情
资源评论
收起资源包目录
BGABanner-Android-master.zip (85个子文件)
BGABanner-Android-master
gradlew 5KB
settings.gradle 28B
demo
src
main
AndroidManifest.xml 1KB
res
drawable-hdpi
ic_launcher.png 891B
point_focused.png 544B
point_focused_big.png 1KB
point_unfocused_small.png 1KB
holder.png 325KB
point_unfocused.png 542B
drawable
selector_banner_unequal.xml 273B
selector_banner_point.xml 263B
shape_number_indicator_background.xml 348B
selector_btn_test.xml 525B
drawable-mdpi
ic_launcher.png 636B
layout
item_normal.xml 788B
layout_header.xml 776B
activity_listview_demo.xml 392B
item_fresco.xml 667B
activity_guide.xml 2KB
activity_recyclerview_demo.xml 570B
activity_main.xml 10KB
activity_fresco_demo.xml 1KB
drawable-xxhdpi
ic_launcher.png 1KB
drawable-xhdpi
uoko_guide_foreground_3.png 6KB
ic_launcher.png 1KB
uoko_guide_foreground_2.png 6KB
uoko_guide_background_1.png 891KB
uoko_guide_foreground_1.png 7KB
uoko_guide_background_2.png 1.12MB
uoko_guide_background_3.png 835KB
values
colors.xml 225B
strings.xml 223B
styles.xml 3KB
styles_base.xml 4KB
dimens.xml 211B
java
cn
bingoogolapple
bgabanner
demo
ui
activity
ListViewDemoActivity.java 4KB
FrescoDemoActivity.java 3KB
GuideActivity.java 2KB
RecyclerViewDemoActivity.java 6KB
MainActivity.java 9KB
App.java 979B
model
BannerModel.java 265B
RefreshModel.java 382B
engine
Engine.java 619B
build.gradle 1KB
proguard-rules.pro 2KB
library
src
main
AndroidManifest.xml 49B
res
drawable
bga_banner_selector_point_solid.xml 529B
bga_banner_selector_point_hollow.xml 284B
layout
bga_banner_item_image.xml 256B
drawable-xhdpi
bga_banner_point_enabled.png 281B
bga_banner_point_disabled.png 356B
values
ids.xml 112B
attrs.xml 3KB
java
cn
bingoogolapple
bgabanner
BGABannerUtil.java 2KB
BGABanner.java 37KB
BGAOnNoDoubleClickListener.java 810B
BGAGuideLinkageLayout.java 1KB
BGAViewPager.java 6KB
transformer
DepthPageTransformer.java 1KB
AlphaPageTransformer.java 1KB
BGAPageTransformer.java 2KB
ZoomStackPageTransformer.java 1KB
AccordionPageTransformer.java 777B
CubePageTransformer.java 1KB
StackPageTransformer.java 608B
DefaultPageTransformer.java 496B
ZoomCenterPageTransformer.java 1KB
ZoomPageTransformer.java 2KB
TransitionEffect.java 341B
FlipPageTransformer.java 1KB
RotatePageTransformer.java 1KB
ZoomFadePageTransformer.java 1KB
FadePageTransformer.java 776B
BGABannerScroller.java 735B
consumer-proguard-rules.pro 59B
gradle.properties 150B
build.gradle 567B
gradle
wrapper
gradle-wrapper.properties 233B
gradle-wrapper.jar 52KB
README.md 10KB
gradlew.bat 2KB
gradle.properties 169B
.gitignore 458B
build.gradle 437B
共 85 条
- 1
资源评论
wxpdada
- 粉丝: 5
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功