flex tree自动显示横向滚动条实现方式代码实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“flex tree自动显示横向滚动条实现方法代码”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
复制代码 代码如下所示:
package com.anydata.consumer.components
{
import flash.events.Event;
import mx.controls.Tree;
import mx.core.ScrollPolicy;
import mx.core.mx_internal;
/**
* 自动显示横向滚动条
*/
public class AutoSizeTree extends Tree
{
public function AutoSizeTree()
{
super();
horizontalScrollPolicy=ScrollPolicy.AUTO;
}
override public function get maxHorizontalScrollPosition():Number
{
if (isNaN(mx_internal::_maxHorizontalScrollPosition))
return 0;
return mx_internal::_maxHorizontalScrollPosition;
}
override public function set maxHorizontalScrollPosition(value:Number):void
{
mx_internal::_maxHorizontalScrollPosition=value;
dispatchEvent(new Event("maxHorizontalScrollPositionChanged"));
scrollAreaChanged=true;
invalidateDisplayList();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
var diffWidth:Number=measureWidthOfItems(0, 0) - (unscaledWidth - viewMetrics.left - viewMetrics.right);
var indentation:Number=getStyle("indentation");
if (diffWidth <= 0)
maxHorizontalScrollPosition=NaN;
else
maxHorizontalScrollPosition=diffWidth + indentation;
super.updateDisplayList(unscaledWidth, unscaledHeight);
}
}
}
您可能感兴趣的文章:
- flex的tree动态加载大量数据与滚动条相关问题探讨
-
09.05
SunoAI局部改词有字数限制吗
-
09.05
解决依赖冲突
-
09.05
快对AI拍照搜题夜间光线差识别失败怎么办
-
09.05
Qoder可以完成Spring_Boot项目重构吗
-
09.05
PavoAI手机端提示词输入限制怎么突破
-
09.05
DeepSeek本地部署模型加载失败怎么办
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏