当前位置: 代码迷 >> 综合 >> Cosmos查看mms主题较长时显示省略号,无法查看
  详细解决方案

Cosmos查看mms主题较长时显示省略号,无法查看

热度:42   发布时间:2024-01-19 20:36:44.0
此问题的原因是默认设计,可以修改为滚动显示方式: 
修改VappMmsViewerPage::draw函数,增加黄色部分
mmi_ucs2cpy((S8 *)ucs, (S8 *)get_string(STR_ID_VAPP_MMS_SUBJECT)) ; 
txt.loadFromMem(ucs); 
m_subject_txt->setAutoResized(VFX_TRUE); 
m_subject_txt->setAlignMode(VfxTextFrame::ALIGN_MODE_LEFT); 
m_subject_txt->setFont(font);   
m_subject_txt->setString(txt); 
if(m_contact_bar && m_contact_bar->getSize().height > 0) 
{ 
m_subject_txt->setPos(VfxPoint(m_subject_txt->getRect().getX(), m_contact_bar->getRect().getMaxY() +
SUBJECT_UPPER_MARGIN - m_contact_bar->getShadowHeight())); 
} 
else 
{ 
m_subject_txt->setPos(VfxPoint(m_subject_txt->getRect().getX(), m_contact_bar->getRect().getMaxY() +
SUBJECT_UPPER_MARGIN)); 
} 
m_subject_txt->setSize(getSize().width - m_subject_txt->getRect().getX(), m_subject_txt->getSize().height); 
mmi_ucs2ncpy((S8 *)ucs, (S8 *)m_data->getMsgInfo()->subject, MMA_MAX_SUBJECT_LEN); 
txt.loadFromMem(ucs); 
VcpMarquee *marquee_subject; 
VFX_OBJ_CREATE(marquee_subject, VcpMarquee, this); 
marquee_subject->setPos(VfxPoint(m_subject_txt->getRect().getMaxX(), m_subject_txt->getRect().getY())); 
marquee_subject->setSize(getSize().width - marquee_subject->getRect().getX(), m_subject_txt->getSize().height); 
marquee_subject->setHalign(VcpMarquee::HALIGN_LEFT); 
marquee_subject->setMovableFrame(txt, font); 
marquee_subject->setAlignParent(VFX_FRAME_ALIGNER_SIDE_LEFT, VFX_FRAME_ALIGNER_MODE_SIDE); 
marquee_subject->setAlignParent(VFX_FRAME_ALIGNER_SIDE_RIGHT, VFX_FRAME_ALIGNER_MODE_SIDE); 
marquee_subject->setTextColor(VFX_COLOR_BLACK); 
marquee_subject->startScroll();