Ext4 desktop 桌面图标换行实现
2012-12-12 13:19
381 查看
今天在网上找了好多换行的方法挨个试了一遍,只要这个我觉得最实用,先看下换行后的效果:
很不错吧,下来说说怎么实现的
首先在desktop.js
文件中扩展一个函数:
//换行
initShortcut
:function(){
var btnHeight
=64;
var btnWidth
=64;
var btnPadding
=30;
var col
={index
:1,x
: btnPadding};
var row
={index
:1,y
: btnPadding};
var bottom;
var numberOfItems
=0;
var taskBarHeight
= Ext.query(".ux-taskbar")[0].clientHeight
+40;
var bodyHeight
= Ext.getBody().getHeight()-
taskBarHeight;
var items
= Ext.query(".ux-desktop-shortcut");
for(var i
=0, len
= items.length; i
< len; i++){
numberOfItems
+=1;
bottom
= row.y
+ btnHeight;
if(((bodyHeight
< bottom)?true:false)&&
bottom >(btnHeight
+ btnPadding)){
numberOfItems
=0;
col
={index
: col.index++,x
: col.x
+ btnWidth
+ btnPadding};
row
={index
:1,y
: btnPadding};
}
Ext.fly(items[i]).setXY([col.x,
row.y]);
row.index++;
row.y
= row.y
+ btnHeight
+ btnPadding;
}
}
下来在在createDataView添加一个监听器
createDataView:function(){
var me
=this;
return{
xtype:'dataview',
overItemCls:'x-view-over',
trackOver:true,
itemSelector: me.shortcutItemSelector,
store: me.shortcuts,
tpl:new Ext.XTemplate(me.shortcutTpl),
listeners:{
resize:me.initShortcut
}
};
},
最后就是在afterRender渲染结束时调用函数
afterRender:function(){
var me
=this;
me.callParent();
me.el.on('contextmenu',
me.onDesktopMenu, me);
Ext.Function.defer(me.initShortcut,1);
},
OK 赶紧试试吧
。。。。。全部是在desktop.js
文件中修改的
很不错吧,下来说说怎么实现的
首先在desktop.js
文件中扩展一个函数:
//换行
initShortcut
:function(){
var btnHeight
=64;
var btnWidth
=64;
var btnPadding
=30;
var col
={index
:1,x
: btnPadding};
var row
={index
:1,y
: btnPadding};
var bottom;
var numberOfItems
=0;
var taskBarHeight
= Ext.query(".ux-taskbar")[0].clientHeight
+40;
var bodyHeight
= Ext.getBody().getHeight()-
taskBarHeight;
var items
= Ext.query(".ux-desktop-shortcut");
for(var i
=0, len
= items.length; i
< len; i++){
numberOfItems
+=1;
bottom
= row.y
+ btnHeight;
if(((bodyHeight
< bottom)?true:false)&&
bottom >(btnHeight
+ btnPadding)){
numberOfItems
=0;
col
={index
: col.index++,x
: col.x
+ btnWidth
+ btnPadding};
row
={index
:1,y
: btnPadding};
}
Ext.fly(items[i]).setXY([col.x,
row.y]);
row.index++;
row.y
= row.y
+ btnHeight
+ btnPadding;
}
}
下来在在createDataView添加一个监听器
createDataView:function(){
var me
=this;
return{
xtype:'dataview',
overItemCls:'x-view-over',
trackOver:true,
itemSelector: me.shortcutItemSelector,
store: me.shortcuts,
tpl:new Ext.XTemplate(me.shortcutTpl),
listeners:{
resize:me.initShortcut
}
};
},
最后就是在afterRender渲染结束时调用函数
afterRender:function(){
var me
=this;
me.callParent();
me.el.on('contextmenu',
me.onDesktopMenu, me);
Ext.Function.defer(me.initShortcut,1);
},
OK 赶紧试试吧
。。。。。全部是在desktop.js
文件中修改的
相关文章推荐
- ExtJs4 desktop 开发 桌面图标换行
- ExtJS4.1 desktop桌面图标自动换行
- extjs desktop中桌面图标换行
- ExtJS Desktop桌面图标换行
- ExtJS[Desktop]实现 图标换行
- ExtJS[Desktop]实现图标换行示例代码
- extjs4.2 desktop 桌面图标换行
- ExtJS4.1 desktop桌面图标自动换行
- 完美解决desktop图标换行问题
- js模仿windows桌面图标排列算法具体实现(附图)
- 【转载】移动桌面图标的实现
- 如何实现桌面App图标可以动态显示消息数(类似手机上的QQ图标)?
- 实现四大组件的禁用和启用,包括隐藏app桌面图标
- Android APP安装后不在桌面显示图标的应用场景举例和实现方法
- Extjs4 desktop 图标自动换行,横纵排列 图标大小修改
- 使用GridView实现仿桌面图标的设计
- js模仿windows桌面图标排列算法具体实现(附图)
- Android APP安装后不在桌面显示图标的应用场景举例和实现方法
- 远程桌面连接后Desktop没有托盘图标的解决方案