2015-08-01 7 views
0

В моем приложении BB10 я хочу наложить ActivityIndicator в центре текущего экрана, чтобы указать, когда происходит что-то (например, «загрузка»).Каков правильный способ наложения ActivityIndicator на BlackBerry 10?

Мое текущее решение встроить такой индикатор в центре пользовательского прозрачного диалога, а именно:

import bb.cascades 1.4 

Dialog { 
    id: activityDialog 
    objectName: "activityDialog" 
    content: Container { 
     id: activityDialogContainer 

     horizontalAlignment: HorizontalAlignment.Center 
     verticalAlignment: VerticalAlignment.Center 

     // fully transparent background! 
     background: Color.create(0, 0, 0, 0) 
     layout: StackLayout { 

     } 
     ActivityIndicator { 
      id: theIndicator 
      preferredWidth: 500    
      preferredHeight: 500   
     } 
     Label { 
      id: activityLabel; 
      objectName: "activityLabel"; 
      text: "" 
      horizontalAlignment: HorizontalAlignment.Center 
      verticalAlignment: VerticalAlignment.Center 
     }     
    } 

    onOpened: { 
     theIndicator.start(); 
    } 

    onClosed: { 
     theIndicator.stop(); 
    } 
} 

Затем я могу просто открыть окно, когда я хочу, чтобы отобразить индикатор.

Проблема заключается в том, что диалоговое окно предотвращает любое взаимодействие с элементами управления Page 's/NavigationPane. Я понимаю, почему. Диалог занимает весь экран, и хотя прозрачность по-прежнему практически скрывает любой пользовательский интерфейс базовой панели.

Как я могу наложить ActivityIndicator в центре экрана, не мешая взаимодействию с элементами панели управления?

ответ

1

Теперь я понял, что мне просто нужно создать DockLayout вокруг моего основного Container и ActivityIndicator.