1. 程式人生 > >sencha button 右對齊的問題

sencha button 右對齊的問題

你可能試驗過

docked:'right'

然後右邊上下對不齊

你可能試驗過

right:'0%'

top'10%'

很難看

你可能試驗過

align:'right'

對不起,button沒有這個屬性

so。。。答案是

items: [{
    xtype: 'button',
    ui: 'mask',
    iconCls: 'refresh',
    handler: refresh
}, {xtype: 'spacer'}, {
    xtype: 'button',
    ui: 'mask',
    iconCls: 'add',
    handler: refresh
}]

加一個space搞定

Just to explain the reason behind this. In Sencha Touch, toolbars are nothing more than containers with an hbox layout and custom styling. So in order to alter the alignment, the pack and other hbox layout configuration you could do:

Code:
layout: {
    pack: 'justify',
    align: 'center' // align center is the default
}
This also means that you can set the property "flex" on every item inside a toolbar to have them take up the remaining space.

Finally I just wanted to paste the code for the Spacer class to show you what it does.

Code:
Ext.Spacer = Ext.extend(Ext.Component, {
    initComponent : function() {
        if (!this.width) {
            this.flex = 1;
        }

        Ext.Spacer.superclass.initComponent.call(this);
    }
});
As you can see you can give a spacer a fixed width, and if you dont do that it will use a flex of one. This means that if you use the following order of items in your toolbar [button, spacer, button, spacer, button], you will get a button on the left, one in the center and one on the right with the spacers both taking up an equal amount of space.

I hope this answered your question.