CCLabelTTF* label = CCLabelTTF::create("测试文字", "Arial",22);
CCLog("dpi=%d,height=%f",CCDevice::getDPI(),label->getContentSize().height);
ios的高度都一样
ipod1输出:
dpi=163,height=26.000000
iphone5输出:
dpi=326,height=26.000000
但是android的高度就不一样:
米1输出
dpi=240,height=36.000000
三星galaxy note3 输出:
dpi=480,height=30.000000
仔细研究了一下各个手机的输出,android和ios的文字大小其实是一样的,但是android比ios的上下多出了一些空白,感觉就是andorid的行间距比ios的大!而且不同分辨率的手机,行间距不一样!
所以显示多行文字说明的时候,需要写死每行的高度,而不能用getContentSize().height,否则会造成android的整个文字说明区域超高。
CCLabelTTF* ttf = NULL;
for(int i = 0; i <5 ; i++)
{
ttf = PublicShowUI::addGameLable(box, CCString::create(list[i]), CCPointZero, fontColor, FONT_SIZE - 2, i);
ttf->setPositionX(left);
//ttf->setPositionY(offY + (4-i) * ttf->getContentSize().height);
ttf->setPositionY(offY + (4-i) * 28);
}