android 輪播圖 簡單demo
阿新 • • 發佈:2018-12-27
github banner輪播圖框架:https://github.com/youth5201314/banner 可以設定輪播樣式、動畫、輪播和切換時間、位置、圖片載入框架等!
原來這位大神的輪播圖DEMO功能齊全,但我不需要複雜的功能,實現圖片輪播即可。
故簡化成下面圖片所示。
【android 輪播圖demo下載】
app 依賴
implementation 'com.youth.banner:banner:1.4.10'
implementation "com.github.bumptech.glide:glide:3.7.0"
清單檔案增加許可權
<uses-permission android:name="android.permission.INTERNET" /> <!-- if you want to load images from a file OR from the internet --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
activity_main 頁面檔案
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.youth.banner.Banner android:layout_width="match_parent" android:layout_height="600px" android:background="@color/colorPrimary" android:id="@+id/banner"> </com.youth.banner.Banner> </LinearLayout>
MainActivity檔案
package com.example.administrator.banner; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; import com.youth.banner.Banner; import com.youth.banner.listener.OnBannerListener; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MainActivity extends AppCompatActivity implements OnBannerListener { Banner banner; public static List<?> images=new ArrayList<>(); private static final String TAG = "MainActivity"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); banner=(Banner)findViewById(R.id.banner); String[] urls = getResources().getStringArray(R.array.url); List list = Arrays.asList(urls); images = new ArrayList(list); //設定自動輪播,預設為true banner.isAutoPlay(true); //設定輪播時間 banner.setDelayTime(1500); banner.setImages(images) .setImageLoader(new GlideImageLoader()) .setOnBannerListener(this) .start(); } @Override public void OnBannerClick(int position) { Toast.makeText(getApplicationContext(),"你點選了:"+position,Toast.LENGTH_SHORT).show(); } }
GlideImageLoader檔案
package com.example.administrator.banner;
import android.content.Context;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//具體方法內容自己去選擇,次方法是為了減少banner過多的依賴第三方包,所以將這個許可權開放給使用者去選擇
Glide.with(context.getApplicationContext())
.load(path)
.into(imageView);
}
}
更多可設定的方法和屬性請參考github!
【android 輪播圖demo下載】
如需幫助請留言!