sencha touch list css(样式) 详解

 1 /*
 2 *自定义列表页面
 3 */
 4 Ext.define('app.view.util.MyList', {
 5     alternateClassName: 'myList',
 6     extend: 'Ext.List',
 7     xtype: 'myList',
 8     requires: ['Ext.plugin.ListPaging', 'Ext.plugin.PullRefresh'],
 9     config: {
10         cls: 'list',
11         plugins: [{
12             xclass: 'Ext.plugin.ListPaging',
13             autoPaging: true,
14             noMoreRecordsText: '没有更多内容了',
15             loadMoreText: '加载更多...'
16         },
17         {
18             xclass: 'Ext.plugin.PullRefresh',
19             lastUpdatedText: '上次刷新时间:',
20             loadingText: '加载中...',
21             pullRefreshText: '下拉可以手动刷新',
22             releaseRefreshText: '松开可以刷新',
23             refreshFn: function (loaded, arguments) {

24                 loaded.getList().getStore().loadPage(1);
25             }
26         }],
27         //禁用,防止跳转时页面卡顿,且可以统一提示信息
28         loadingText:false,
29         emptyText: '没有更多内容了'
30     }
31 });

 

1 .x-list {
2 position: relative;
3 background-color: #f7f7f7;
4 overflow: hidden;
5 }

以上是x-list的默认属性,需要关注的是background-color,他决定整个list的背景色。

如果要自定义背景色,css应该这样写

1 .list{
2 background-color: red;
3 }

效果如下:

每一行都应用了一个样式x-list-item,不过一般我们并不重写它的css。

1 .x-list .x-list-item {
2 position: absolute !important;
3 left: 0;
4 top: 0;
5 color: #000;
6 width: 100%;
7 }

通过重写,实现自定义按下效果

1 .x-list .x-list-item.x-item-pressed .x-dock-horizontal {
2     background-image:none;
3     background-color:#6F747A;
4     color:White;
5 }

效果如下:

同理,如果想自定义选中效果。则如下

1 .x-list .x-list-item.x-item-selected .x-dock-horizontal {
2     background-image:none;
3     background-color:Yellow;
4     color:Green;
5 }

如图:

如上图,按下和选中是不同的效果。根据需求自行设计

另外还有两个比较特殊的样式

.x-list .x-list-item-first以及.x-list .x-list-item-last,他们分别决定第一行和最后一行的css

以下是最后一行选中时的写法,其他的请举一反三

1 .x-list .x-list-item-last.x-item-selected .x-dock-horizontal
2 {
3     border-bottom:1px solid #dedede;
4 }

 通过审查元素可以看见元素本身的样式,然后自定义css重写。

 

 

 

 

 

 

posted @ 2013-06-18 11:51  魔狼再世  阅读(2027)  评论(0编辑  收藏  举报