依赖:
compile 'com.youth.banner:banner:1.4.9'
清单文件:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
activity_main.xml
<com.youth.banner.Banner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="300dp"></com.youth.banner.Banner>
MainActivity
package gaojunsheng.bwie.com.shouye_rikao14; import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.DisplayMetrics; import android.view.View; import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.SimpleAdapter; import android.widget.Toast; import com.bumptech.glide.Glide; import com.youth.banner.Banner; import com.youth.banner.BannerConfig; import com.youth.banner.Transformer; import com.youth.banner.loader.ImageLoaderInterface; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { //-- private Banner banner; private List<String> mListImage, mListTitle; //-- @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //实例化图片集合 mListImage = new ArrayList<>(); //实例化Title集合 mListTitle = new ArrayList<>(); //图片地址 initimg(); //图片操作符 bannerinit(); } private void bannerinit() { //实例化Banner banner = (Banner) findViewById(R.id.banner); //设置Banner样式 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); //设置图片加载器 banner.setImageLoader(new GlideImageLaoder()); //设置Banner图片集合 banner.setImages(mListImage); //设置Banner动画效果 banner.setBannerAnimation(Transformer.DepthPage); //设置Banner标题集合(当banner样式有显示title时) banner.setBannerTitles(mListTitle); //设置轮播时间 banner.setDelayTime(3000); //设置指示器位置(当banner模式中有指示器时) banner.setIndicatorGravity(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE); //Banner设置方法全部调用完毕时最后调用 banner.start(); } private void initimg() { //将图片放入集合中 mListImage.add("http://img3.imgtn.bdimg.com/it/u=3823223463,3047520970&fm=23&gp=0.jpg"); mListImage.add("http://img.hc360.com/auto-a/info/images/200803/8998419-10.jpg"); mListImage.add("http://img.ichemo.cn/model/5188ebc96c74dd.jpg"); mListImage.add("http://img0.imgtn.bdimg.com/it/u=2631448432,2817427988&fm=214&gp=0.jpg"); mListImage.add("http://i.ebayimg.com/00/s/MzU1WDcwOQ==/%24%28KGrHqR,%21hYFDuguSMpNBQ8e+seDCQ~~60_1.JPG?set_id=880000500F"); //将标题放入集合 mListTitle.add("第一张图片"); mListTitle.add("第二张图片"); mListTitle.add("第三张图片"); mListTitle.add("第四张图片"); mListTitle.add("第五张图片"); } //gridView public Object getData() { //cion和iconName的长度是相同的,这里任选其一都可以 for(int i=0;i<icon.length;i++){ Map<String, Object> map = new HashMap<String, Object>(); map.put("image", icon[i]); map.put("text", iconName[i]); data_list.add(map); } return data_list; } private class GlideImageLaoder implements ImageLoaderInterface { @Override public void displayImage(Context context, Object path, View imageView) { /** 注意: 1.图片加载器由自己选择,这里不限制,只是提供几种使用方法 2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器, 传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行, 切记不要胡乱强转! */ //第一种方法:Glide 加载图片简单用法 Glide.with(context).load(path).into((ImageView) imageView); } @Override public View createImageView(Context context) { return null; } } }