Android. Позиционирование Dialog

image

В статье рассмотрены способы позиционирования диалогового окна относительно дисплея устройства.

При отображении пользователю диалогового окна с информацией окно диалога по умолчанию позиционируется по центру дисплея, т.е. по центру по вертикали и по горизонтали. Эту логику возможно изменить, отпозиционировав диалоговое окно в любой части экрана.

Читать дальше →

Android. Работа с прогресс диалогами

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

Создать и запустить диалог можно несколькими способами, но всех их объединяет одно: все изменения видимой части пользовательского интерфейса после создания Activity должны происходить в специальном потоке. Многие об этом забывают и потом удивляются, почему не происходит видимых изменений. Простейший вариант это вызов следующей конструкции:

вашаАктивити.runOnUiThread(new Runnable() {

@Override
 public void run() {
 // Изменение видимой части
 }
 });


или для View:

вашеВию.post(new Runnable() {

@Override
 public void run() {
 // Изменение видимой части
 }
 });


Ваши команды на изменение ставятся в очередь и в определенный момент вызываются Activity. Преимущество есть, хотя на первый взгляд не очевидно. Программа перестает тормозить при каждом изменении интерфейса, все перерисовки проходят как бы фоново, программа не подвисает при исполнении каких то вычислительных задач связанных одновременно с рассчетами/загрузкой и с отображение хода процесса. С другой стороны это немного усложняет код.


Читать дальше →