2013-03-16 2 views
1

Я пытаюсь наложить 3 кнопки на верхнюю часть xtype:'img', но я никуда не могу и не могу найти много информации об этом.Кнопка слоя xtypes поверх img xtypes в Sencha Touch 2

Как это работает?

EDIT:

У меня есть изображение, и когда вы постучите я хочу его показать то же изображение, но теперь есть 3 варианта, вы можете выбрать из поля зрения загрузки доли я хочу кнопки, чтобы посмотреть, как они выскакивают над изображением

Ext.define('Crystal.view.apphb',{ 
extend: 'Ext.Panel', 
    xtype:'apphb', 
    id:'panel', 
requires: [ 

    'Ext.TitleBar', 

], 
config:{ 
layout: { 
    type: 'card', 
    animation: { 
     type: 'fade'}, 
}, 

items:[{ 

    xtype:'img', 
src:'resources/img/apphb.png', 

listeners: { 
      tap: function() { 
       Ext.getCmp('panel').setActiveItem(1); 
      }, 
      }, 

}, 

{ 





    xtype:'img', 
src:'resources/img/1.png', 

listeners: { 
    tap: function() { 
       Ext.getCmp('panel').setActiveItem(-1); 
       } 
       }, 






    } 
] 

}

});

+0

так что именно вы пытаетесь сделать? Я не думаю, что вы можете сделать это из моего понимания ... Я могу ошибаться. Больше кода, вероятно, было бы полезно – cclerville

+0

в принципе, я хочу, чтобы 3 кнопки отображали или плавали поверх изображения почти так же, как текстовый ящик xtype, кроме как с черного фона – Jayrok94

+0

это более полезно? – Jayrok94

ответ

2

То, что я понимаю из вашего вопроса, прост. Вы хотите показать определенные кнопки во всплывающем окне при нажатии на изображение. Таким образом, вы используете overlays и вставляете в него кнопки.

Рабочая скрипка с демонстрацией here. Вы можете отображать все, что захотите в этом всплывающем окне. Метод .showBy() позволяет вам выскакивать по определенному элементу, переданному в качестве параметра. Вот код,

launch: function() { 
     Ext.create('Ext.Panel', { 
      fullscreen: true, 
      items:[ 
       { 
        xtype:'image', 
        src: 'http://www.sencha.com/assets/images/sencha-avatar-64x64.png', 
        height: 64, 
        width: 64, 
        listeners:{ 
         tap:function(img,e,opts){ 
          var overlay = Ext.Viewport.add({ 
          xtype: 'panel', 
          left: 0, 
          top: 0,      
          modal: true, 
          hideOnMaskTap: true, 
          hidden: true, 
          width:160, 
          height:90,       
           items:[ 
            { 
             xtype:'button', 
             text:'Download' 
            } 
           ], 
          styleHtmlContent: true, 
          scrollable: true 
         });    
        overlay.showBy(img); 
         } 
        } 
       } 
       ] 
     }); 
    } 
+2

путь SO работает, если кто-то дает downvote, это его обязанность объяснить причину этого. это обязательно укажет на ошибки, которые сделал ответчик. – SachinGutte

+0

именно то, что мне нужно! еще раз спасибо! – Jayrok94

+0

Что делать, если я хочу загрузить/сохранить изображение при нажатии кнопки «Загрузить»? Могу ли я добавить эту функциональность, если да, как? Пожалуйста, обратитесь к моему вопросу [link] (http://stackoverflow.com/questions/15756690/how-save-image-to-phone-memory-say-sd-card-or-local-hard-drive-when-a- image-tap) ... Спасибо – Sukane

0

Что об использовании img в качестве фона для контейнера?

xtype: 'container', 
       style: 'background: url(http://wallpapers.free-review.net/wallpapers/36/New_Batman_movie.jpg) no-repeat;', 
       layout: { 
        align: 'stretch', 
        type: 'vbox' 
       }, 
       items: [ 
        { 
         xtype: 'container', 
         flex: 1 
        }, 
        { 
         xtype: 'container', 
         height: 100, 
         defaults: { 
          margin: 5, 
          height: 80, 
          width: 100 
         }, 
         items: [ 
          { 
           xtype: 'button', 
           text: 'Like' 
          }, 
          { 
           xtype: 'button', 
           text: 'Tweet' 
          } 
         ] 
        } 
       ] 
      } 
Смежные вопросы