解决关于flex程序中浏览器缩小到某个值时出现滚动条
---------------------------------------------------
author: 小滕
time : 2011-6-26
原 问 题 描 述:
当要求浏览器宽度缩小到500时,横向出现滚动条的问题。
解决遇到的问题:
1.Flex的模板中body的属性中默认scroll="no",是没有滚动条的。
2.简单的去掉scroll=0此时就会遇到几个问题(可能初始化时窗口小于500有滚动条,但是和预期的效果不一样,不能控制flash居中)
3.使用flex中application的滚动条,发现滚动条范围不对(application的minwidth属性值的问题)
解 决 方 案:(临时想到的解决方法,肯定有更好的,只是本人对flex了解还太少)
1.保留html中body的scroll="no";
2.网页中监听noresize事件
function resetPage(){
lenovo.resetWindow(); //flex中已经通过ExternalInterface注册的函数
}
window.onresize = resetPage;
3.Flex中组件需要使用x的布局(也可以使用horizontalCenter道理都是根据目前窗口的大小去重新设置这个只,当窗口大小小于500是x=0或者horizontalCenter=-250),这里讲一个宽度为400的组件的x设置为(this.width-400)/2,目的让该组件相对于application居中。
4.设置<mx:application>的horizontalScrollPolicy属性
horizontalScrollPolicy="{(this.width<500)? 'on':'off'}"
5.Flex中注册函数(要使用ExternalInterface类,使用很简单不会用的看看Flex API),每次调用回调,需要重新设置组件的布局和是否显示application的滚动条。
ExternalInterface.addCallback( "resetWindow", resetWindow);
private function resetWindow():void{
if( this.width <500){
this.horizontalScrollPolicy = "on";
}else{
this.horizontalScrollPolicy = "off";
}
this.loginWin.x = ( ( this.width/2-500/2) >= 0)? ( this.width/2 - 500/2):0;
}
6.按照上面的操作,在点击浏览器最大化时还可能会导致组件布局中的问题。这个我选择的是加一个定时器,定时去设置application是否显示滚动条和组件的布局。如果加入定时器,那么上面的第二步就不一定是必须的了。可以选择不用。
上面说的只是一种解决问题的思路,由于本人不喜欢直接拿来就用,所以不提供具体实例和源码,只提供解决问题的方法。转载请注明出处:http://baiyejianxin.iteye.com/blog/1105218
分享到:
相关推荐
很好的解决了flex的tilelist中的checkbox 选中后,下拉滚动条乱选问题。同时解决了获取tilelist里面的数据问题。很不错的
flex三种实现滚动条方式,其实是两种,样式的以两种表现形式写出了。然后,自定了一个滚动条
flex实现简单浏览器,flex AIR中HTML控件实现了简单的网页浏览效果
自定义滚动条.用canvas做滚动条条 用button做滑块
flex解析浏览器地址,。与浏览器的通信能够让 你建立一个可以超越Flex 应用本身的应用程序。你可以连接到已有的地址,通过JavaScript 和其他应用程序通信,并且可以和浏览器的历史记录交互,作为开始。...
通过修改flex4滚动条的皮肤来修改Scroller组件的外观,外观直接去除了上下箭头,可以自行改变滚动条的皮肤颜色,投影颜色等。滚动条更加现代化。
flex tree 自动显示横向滚动条 自定义重写
flex横向条形图增加滚动条,拖动滚动条显示数据
flex textlayout 滚动条 flex textlayout 滚动条 flex textlayout 滚动条
Flex 按钮代替滚动条,看了就知道了。。
Flex中不用ScrollBar实现滚动效果
应用flex;实现对图片的放大,缩小;效果非常不错;
flex4舞台尺寸随浏览器窗口大小改变.rar
可以通过可视化界面的调整生成css,方便、高效。
解决了鼠标在flexpaper上的时候,滚动条上的bug
flex监听浏览器关闭事件,完成对于浏览器关闭事件的监听。以及弹出相应的关闭提示
flex 字体自动放大缩小例子,flex 字体自动放大缩小例子,flex 字体自动放大缩小例子
flex实现鼠标滚动放大缩小(以鼠标的位置为中心放大缩小)源码奉上
flex4浏览器关闭。一个简单的flex4中如果关闭浏览器的小demo!
Flex程序如何获取html容器传递的URL参数值