Android自定义封装banner组件
程序员文章站
2022-06-11 09:34:27
自定义封装 banner 组件,供大家参考,具体内容如下
1. 效果图预览
2.基本功能
一个简单方便的轮播图组件,基于viewpager 基础上进行...
自定义封装 banner 组件,供大家参考,具体内容如下
1. 效果图预览
2.基本功能
一个简单方便的轮播图组件,基于viewpager 基础上进行的封装。
可设置 项目中图片,网络图片, view;
支持循环自动播放,手势滑动切换,item点击事件,可设置 点点的样式宽高、颜色、大小、位置 ;
可设置蒙层;可设置 是否允许滑动;可设置 是否允许循环。
3.基本实现
1). 自定义属性
<declare-styleable name="bannerlayoutstyle"> <attr name="maskstartcolor" format="color|reference" /> <attr name="maskendcolor" format="color|reference" /> <attr name="selectedindicatorcolor" format="color|reference" /> <attr name="unselectedindicatorcolor" format="color|reference" /> <attr name="indicatorshape" format="enum"> <enum name="rect" value="0" /> <enum name="oval" value="1" /> </attr> <attr name="selectedindicatorheight" format="dimension|reference" /> <attr name="selectedindicatorwidth" format="dimension|reference" /> <attr name="unselectedindicatorheight" format="dimension|reference" /> <attr name="unselectedindicatorwidth" format="dimension|reference" /> <attr name="indicatorposition" format="enum"> <enum name="centerbottom" value="0" /> <enum name="rightbottom" value="1" /> <enum name="leftbottom" value="2" /> <enum name="centertop" value="3" /> <enum name="righttop" value="4" /> <enum name="lefttop" value="5" /> </attr> <attr name="indicatorspace" format="dimension|reference" /> <attr name="indicatormargin" format="dimension|reference" /> <attr name="autoplayduration" format="integer|reference" /> <attr name="scrollduration" format="integer|reference" /> <attr name="isautoplay" format="boolean" /> <attr name="defaultimage" format="integer|reference" /> <attr name="isindicatorvisible" format="boolean" /> <attr name="cornerradii" format="dimension|reference" /> </declare-styleable>
2).基本方法
//添加本地图片路径 public void setviewres(list<integer> viewres) {。。。} //添加网络图片路径 public void setviewurls(list<string> urls) {。。。} //添加任意view视图 private void setviews2(final list<view> views) {。。。}
// 设置是否允许 循环 public void setloop(boolean loop) { } // 设置是否可以滑动 public void setslideable(boolean slideable) { }
更多用法 详见代码,这里就不全部粘贴了。
3).使用示例:
<com.dzq.widget.custombannerview android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1" app:autoplayduration="2000" app:defaultimage="@drawable/bg_banner" app:indicatormargin="@dimen/indicatormargin" app:indicatorposition="rightbottom" app:indicatorshape="oval" app:indicatorspace="@dimen/indicatorspace" app:isautoplay="true" app:isindicatorvisible="true" app:scrollduration="1000" app:selectedindicatorcolor="@color/color_ec407a" app:selectedindicatorheight="5dp" app:selectedindicatorwidth="5dp" app:unselectedindicatorcolor="@color/color_71d9e7" app:unselectedindicatorheight="5dp" app:unselectedindicatorwidth="5dp" /> <com.dzq.widget.custombannerview android:id="@+id/banner2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="5dp" android:layout_weight="1" app:autoplayduration="2000" app:defaultimage="@drawable/bg_banner" app:indicatormargin="@dimen/indicatormargin" app:indicatorposition="rightbottom" app:indicatorshape="rect" app:indicatorspace="@dimen/indicatorspace" app:isautoplay="false" app:isindicatorvisible="true" app:scrollduration="1000" app:selectedindicatorcolor="@color/color_ec407a" app:selectedindicatorheight="5dp" app:selectedindicatorwidth="10dp" app:unselectedindicatorcolor="@color/color_71d9e7" app:unselectedindicatorheight="10dp" app:unselectedindicatorwidth="5dp" /> <com.dzq.widget.custombannerview android:id="@+id/banner3" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margintop="5dp" android:layout_weight="1" app:cornerradii="5dp" app:indicatormargin="@dimen/indicatormargin" app:indicatorposition="centertop" app:indicatorshape="rect" app:indicatorspace="@dimen/indicatorspace" app:isautoplay="false" app:isindicatorvisible="true" app:maskendcolor="#00000000" app:maskstartcolor="#99000000" app:scrollduration="1000" app:selectedindicatorcolor="#00caa9" app:selectedindicatorheight="10dp" app:selectedindicatorwidth="25dp" app:unselectedindicatorcolor="#26000000" app:unselectedindicatorheight="10dp" app:unselectedindicatorwidth="10dp" />
项目源码下载
导入自己项目
how to
to get a git project into your build:
step 1. add the jitpack repository to your build file
add it in your root build.gradle at the end of repositories:
allprojects { repositories { ... maven { url 'https://jitpack.io' } } }
step 2. add the dependency
dependencies { compile 'com.github.dingzuoqiang:custombannerview:v1.0' }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。