空余的时候自己写了一个android经常使用的广告 banner,可以使用网络下载图片,或是资源文件中的图片进行显示banner
以下是效果图
其中的点的大小,点的图标都是可以设置的,并且使用起来也很方便。
1.由于图片的加载使用到了imageload,所以必须要在你的项目的libs中添加该jar包
这个为下载地址 http://download.csdn.net/detail/shuang__zi/9085609
并且在你的application中对imageload进行如下的配置(或者将,本项目中的HBaseApp.java考到项目中,在xml中配置)
private void initImageLoader() {
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageOnFail(R.drawable.empty_photo) // 加载图片出现问题,会显示该图片
.showImageForEmptyUri(R.drawable.empty_photo)//url为空的时候显示的图片
.showImageOnLoading(R.drawable.empty_photo)//图片加载过程中显示的图片
.bitmapConfig(Config.RGB_565)
.cacheOnDisk(true)//开启硬盘缓存
.cacheInMemory(true)//内存缓存
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration
.Builder(this)
.threadPriority(Thread.NORM_PRIORITY)
.defaultDisplayImageOptions(options)
.denyCacheImageMultipleSizesInMemory()
.diskCacheFileCount(100)
.diskCacheSize(10*1024*1024)//缓存容量
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCache(new UnlimitedDiscCache(new File(Environment.getExternalStorageDirectory() + IMAGE_CACHE)))
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
ImageLoader.getInstance().init(config);
}
并且要添加两个权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
BannerFragment :实现banner的片段,其中有viewpage进行循环显示图片
BannerImageFragment :显示图片的片段
3.在你的项目中要现实banner的地方进行添加以下的代码即可
//添加图片的地址
ArrayList<Object> bitmapList=new ArrayList<Object>();
//可以选择传入url地址
bitmapList.add("http://sc.jb51.net/uploads/allimg/140307/11-14030G41P3628.jpg");
bitmapList.add("http://pic.nipic.com/2008-05-07/20085722191339_2.jpg");
bitmapList.add("http://image.photophoto.cn/nm-6/018/030/0180300244.jpg");
bitmapList.add("http://img.taopic.com/uploads/allimg/130501/240451-13050106450911.jpg");
bitmapList.add("http://pica.nipic.com/2007-11-13/2007111317599808_2.jpg");
//或是选择传入资源文件
// bitmapList.add(R.drawable.one);
// bitmapList.add(R.drawable.two);
// bitmapList.add(R.drawable.three);
// bitmapList.add(R.drawable.four);
// bitmapList.add(R.drawable.five);
fm=getSupportFragmentManager();//判断管理器
FragmentTransaction ft = fm.beginTransaction();
BannerFragment.POINT_WIDE=30;//点的大小(不设置为默认大小)
BannerFragment.POINT_CLICK=R.drawable.press;//小圆点选中后图标(不设置为默认图标)
BannerFragment.POINT_NOT_CLICK=R.drawable.no_press;//小圆点未选中图标(不设置为默认图标)
Fragment bf=new BannerFragment(//调用片段类
bitmapList,//传入要显示的图片数组
new BannerFragment.onCallBack() {//调用点击图片后的回调接口
@Override
public void imageViewClick(int position) {//重写回调接口中的方法(position为bannerfragment片段传出的当前的片段的页数)
//如果希望点击图片有事件发生在这里重写方法即可
Toast.makeText(MainActivity.this, position+"", Toast.LENGTH_SHORT).show();
}
});
ft.add(R.id.layout_bannerFrame, bf);
ft.commit();
以下是项目的下载地址:
http://download.csdn.net/detail/shuang__zi/9085751