Flex4中Label标签的text内容过长怎么办

兄弟姐妹哪位知道,Flex4中Label标签的text内容过长怎么办
最新回答
软耳兔兔

2024-05-18 15:32:29

  方法/步骤
  1
  在做项目的过程中,我发现用Flex中的组件TitleWindow时,如果Label中的内容过长,会把其他的组件或控件样式弄乱,甚至把它们从窗口中挤出去。为了解决这个问题,我查阅了不少资料,但是真正有用的却很少。
  我尝试自己解决这个问题,于是新建了一个应用程序测试,

  2
  在网上说,对于Flex3版本,是用truncateToFit="true"这个属性来解决Label内容过长的问题;对于Flex4的版本,设置Label的高度、lineBreak="explicit"和
  maxDisplayedLines="1"
  我用的是Flex4版本,也将Flex3版本的办法和Flex4版本的办法都试过了,但是这个问题根本没有解决,样式还是混乱的
  为了测试,我新建了一个TitleWindow组件,如下图所示

  3
  在Flex应用程序中,调用TitleWindow组件
  /**
  * 打开Window函数
  */
  protected function textArea_clickHandler(event:MouseEvent):void
  {
  var textWin:TextWin = TextWin(PopUpManager.createPopUp(this,TextWin,true));
  PopUpManager.centerPopUp(textWin);
  }
  如下图所示:

  4
  在TitleWindow组件中添加含有Label的控件
  <mx:VBox width="100%" height="100%">
  <mx:Form>
  <mx:FormHeading label="测试Label内容的长度"/>
  <mx:FormItem label="名称">
  <s:Label text="负担和风景都看过了快乐"/>
  </mx:FormItem>
  <mx:FormItem label="地址">
  <s:Label text="********************************************************************************************************************************************************************************************************"
  width="300"/>
  </mx:FormItem>
  <mx:FormItem label="电话">
  <s:Label text="18785656562"/>
  </mx:FormItem>
  </mx:Form>
  <mx:HBox width="100%" height="30" horizontalAlign="center">
  <s:Button id="closeBtn" label="关闭"/>
  </mx:HBox>
  </mx:VBox>

  5
  运行Flex应用程序,并点击按钮,会看到弹窗中的label内容已经挤到外面,而且窗口中的关闭按钮也已经漂移了

  6
  于是,我在Label标签中添加一个宽度width="300",结果发现Label内容都在窗口内,而且超过这个长度的内容自动换行
  这样,我得出一个结论:在Flex4中,如果Label中的内容过长,可以使用确切的宽度值来限制。