[]在微信小游戏中,主域中显示开发域的list为什么显示不全?

在开放域中把list生成好之后,在主域中显示不全这个list,只显示部分。
已邀请:

w1114367261

赞同来自:

你所说的显示不全是!list的个数不够?还是ui显示不完全?能否给一张错误截图!

Miller

赞同来自:

就是我在开放域中如何设置list的height值,在主域中的list只能显示到这个高度,没法在扩展了。

Miller

赞同来自:

rankList.array = data;
rankList.height = 670; 我试了一下,大概高度超过670这个list高度就不变了,即使把高度设置成1000,list也是显示这么长。往小的方向改是可以有效果的,但超过670就对list的高度没有影响了。

Miller

赞同来自:

如果单独生成一个微信小程序没这种情况,只是作为开放域的时候,就会遇到这个问题。

Miller

赞同来自:

 
class Item extends Laya.Box {  
public static WID: number = 600;
public static HEI: number = 85;
private img: Laya.Image;
        //private text: Laya.Label;
constructor(){
super();
this.size(Item.WID, Item.HEI);
this.img = new Laya.Image();
            //this.text = new Laya.Label();
this.addChild(this.img);
            //this.addChild(this.text);
}
public setImg(src: string): void {
this.img.skin = src;            
}

/*
class Main {
    constructor() {
        wx.onMessage(data => {
            console.log(data);
            if (data.isDisplay) {
                wx.getFriendCloudStorage({
                    success: res => {
                        
                    }
                })
            }
        })
    }
}*/ 
//初始化微信小游戏
Laya.MiniAdpter.init(true, true);
//程序入口
Laya.init(750, 1334); 
onLoaded(); 
/*
//激活资源版本控制
Laya.ResourceVersion.enable("version.json", Laya.Handler.create(null, beginLoad), Laya.ResourceVersion.FILENAME_VERSION); 
function beginLoad(){
    Laya.loader.load("res/atlas/comp.atlas", Laya.Handler.create(null, onLoaded));
}*/ 
function updateItem(cell, index) {
cell.setImg(cell.dataSource);

function onLoaded(): void { 
    var rankList = new Laya.List(); 
    //rankList.scrollBar.elasticBackTime = 200;
   //rankList.scrollBar.elasticBackTime = 200;//设置橡皮筋回弹时间。单位为毫秒。   
   //rankList.scrollBar.elasticDistance = 50;//设置橡皮筋极限距离。
    rankList.spaceY = 20;
    rankList.itemRender = Item;
    rankList.repeatX = 1;
    //rankList.repeatY = 1;
    rankList.vScrollBarSkin = "";
    rankList.renderHandler = new Laya.Handler(this, updateItem);
    Laya.stage.addChild(rankList);
    var data = ;
    for (var i = 0; i < 10; ++i) {
    data.push("https://wx.qlogo.cn/mmopen/vi_ ... 6quot;);
    data.push("https://wx.qlogo.cn/mmopen/vi_ ... 6quot;);
    data.push("https://wx.qlogo.cn/mmopen/vi_ ... 6quot;);
    data.push("https://wx.qlogo.cn/mmopen/vi_ ... 6quot;);
    }
    rankList.array = data;
    rankList.height = 800;
    //rankList.width = 1100;
    console.log('ranklist info xxxxxxxxxxxxxxxxxxxxx')
    console.log(rankList.width);
    console.log(rankList.height);   
    
    /*var rank:ListPage = new ListPage();
    Laya.stage.addChild(rank);*/
}
 
这个开放域的编写的代码,测试用的,我用同样的代码单独生成一个小游戏是不会出现这个问题的。

Thylx

赞同来自:

楼主,请问下解决了吗?我这边也碰到类似的问题~~

CGH

赞同来自:

遇到个类似的问题,解决的方案:
1.主域设置sharecanvas的大小,并且设置子域画布和sharecanvas相同
2.主域绘制sharecanvas时,需要设置位置及绘制大小
3.子域显示list时,list内包含的元素需要设置显示的宽高

要回复问题请先

商务合作
商务合作