1.页面上先写上一个样板
2.再创立个模板页面
3.创建一个工具包,在工具包内在创建一个轮播图的工具类
//轮播的对象类
public class LunBoTu {
//创建图片
private int imgge;
//空参
public LunBoTu() {
}
//有参
public LunBoTu(int imgge) {
this.imgge = imgge;
}
//get 和set
public int getImgge() {
return imgge;
}
public void setImgge(int imgge) {
this.imgge = imgge;
}
}
4.在 适配器 工具包新建立个适配器的类
//适配器类
public class LunBoTuProviderextends PageSliderProvider {
// 引出轮播图对象 所有轮播图
private ArrayListlist;
// 当前页面 - 页面的类型必须是AbilitySlice
private AbilitySliceslice;
//通过有参构造让这上面两个参数赋值
//所以这边也是AbilitySlice的类型
public LunBoTuProvider(ArrayList list, AbilitySlice slice) {
this.list = list;
this.slice = slice;
}
@Override
public int getCount() {
return list.size();
}
@Override
public ObjectcreatePageInContainer(ComponentContainer componentContainer, int i) {
// 获取每个数据
LunBoTu lunbo=list.get(i);
//获取容器对象 数据展示的位置
DirectionalLayout dl=(DirectionalLayout) LayoutScatter.getInstance(slice)
.parse(ResourceTable.Layout_swper,null,false);
// 在轮播种招到这个图片
Image img=(Image) dl.findComponentById(ResourceTable.Id_lunbo);
img.setPixelMap(lunbo.getImgge());
componentContainer.addComponent(dl);
// 返回出来
return dl;
}
@Override
public void destroyPageFromContainer(ComponentContainer componentContainer, int i, Object o) {
componentContainer.removeComponent((Component) o);
}
@Override
public boolean isPageMatchToObject(Component component, Object o) {
return false;
}
}
5.在主页面里写运动加载的方法(要写在外部类里面)
// ———————————————————————————————— 运动模块加载的方法————————————————
private void initSport(){
//获取轮播图
PageSlider ps=(PageSlider) findComponentById(ResourceTable.Id_lunbops);
// 轮播图的对象集合
ArrayList list=new ArrayList<>();
// 插入轮播图的照片
list.add(new LunBoTu(ResourceTable.Media_image02));
list.add(new LunBoTu(ResourceTable.Media_image03));
// 轮播图的适配器
LunBoTuProvider lunBoTuProvider=new LunBoTuProvider(list,this);
//现在这边的this报错了,this表示本类
//是因为这个方法 你写在监听的匿名内部类里面了,所以this指向的不是页面 而是监听了,抽出来写在外面就好了。
// 适配器和pagProvider相关来奶
// 适配器和 PageProvider 相关联
ps.setProvider(lunBoTuProvider);
}