CleverBanner的功能:無限滑動、指示點(顏色,大小、背景、透明度可控)、自動播放(時間、是否播放可控)。
網上很多輪播圖的庫,但是體積有點兒大,寫的很複雜的樣子,於是決定自己封裝一個,其實自己寫庫,很簡單。編寫屬於自己的庫,參考http://blog.csdn.net/qq_29266921/article/details/51917498
看一下示例圖:
介紹一下用法:
根目錄的build.gradle中,修改
allprojects {
repositories {
...
maven {
url 'https://jitpack.io'
}
}
}
app裏的build.gradle,添加依賴
dependencies {
compile 'com.github.Biligle:CleverBanner:v1.0'
}
在佈局中引用
<com.wgl.cleverbannerlibrary.CleverBanner
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="200dp"/>
在代碼中:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<String> urllist = new ArrayList<>();
urllist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493695097&di=2f4cf75856a613f9103f937ef1472175&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.gamemei.com%2Fbackground%2Fuploads%2Fallimg%2F170328%2F24-1F32QJ303-50.jpg");
urllist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493695155&di=b3e452ae453d99b2ae531a69b47fb12c&imgtype=jpg&er=1&src=http%3A%2F%2Fi4.073img.com%2F170422%2F17598502_182153_1_lit.jpg");
urllist.add("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1493695200&di=7b584c04029727eee98b5b67a95b2292&imgtype=jpg&er=1&src=http%3A%2F%2Fwww.gamemei.com%2Fbackground%2Fuploads%2Fallimg%2F170416%2F24-1F416224J50-L.jpg");
CleverBanner banner = (CleverBanner) findViewById(R.id.banner);
banner
//傳遞圖片url
.setUrl(urllist)
//觸發點擊事件
.setBannerListener(new BannerAdapter.BannerClickListener() {
@Override
public void bannerClick(int position) {
Toast.makeText(
MainActivity.this,
"當前是第"+(position+1)+"頁",
Toast.LENGTH_SHORT).show();
}
});
}
想知道banner中的其他方法,請看源碼GitHub:https://github.com/Biligle/CleverBanner
以上是最簡單的引用,當然可以根據要求改變屬性 :
placeIcon: 佔位圖
errorIcon: 加載出錯的圖
margin: 指示點間距
selected_color: 指示點選中顏色
unSelected_color:指示點未選中顏色
bigger_height: 指示點選中變大
indicator_background_color : 指示點背景顏色
indicator_alpha: 指示點背景透明度
time: 輪播時間(毫秒)
isDisplay: true: 自動播放
isIndicator: true:有指示點
想了解更多,請看源碼GitHub:https://github.com/Biligle/CleverBanner