Делаем отключенную группу просмотра более эстетичной - PullRequest
0 голосов
/ 05 марта 2012

У меня есть довольно тривиальный вопрос, но я подумал, что я бы попробовал. Я пишу приложение для Android, и у меня есть форма группы просмотра, которая загружается с веб-сервера. Пока работает доступ в интернет, я использовал всплывающее диалоговое окно с индикатором выполнения. Я решил, что это выглядело бы не так громко, если бы я перешел к милой маленькой неопределенной строке прогресса в строке заголовка.

Параметр строки заголовка выглядит менее занятым, за исключением того, что все элементы формы (текстовые представления, кнопки и т. Д.) Все включены во время поиска. Затем я использовал рекурсивную подпрограмму, чтобы отключить все представления в группе просмотра, но это опять-таки выглядит уродливо - заштрихованные текстовые представления (2.3.3) выглядят грубыми, особенно те, которые имеют фокус с оранжевой полосой вокруг него. Если я выскакиваю индикатор выполнения, базовый вид выглядит красиво отключенным - окно сзади просто медленно затемняется. С визуальной точки зрения гораздо более очевидно, что мы ожидаем, что что-то произойдет, когда все окно затемнено, а не сталкивается с кучей отключенных элементов управления.

Могу ли я позвонить, чтобы отключить представление аналогично тому, как это делает ОС, когда индикатор выполнения или другое окно перекрываются сверху? Это дало бы мне лучшее из обоих миров.

Я полагаю, что другой вариант - установить представление невидимым во время доступа, но мне стало любопытно, потому что я вижу, что ОС делает именно то, что я хочу, когда использую всплывающее окно.

1 Ответ

0 голосов
/ 13 апреля 2012

Я выяснил, как это сделать, используя относительную компоновку с диалоговым окном прогресса, завернутым в компоновку фрейма, перекрывающую основной вид.Когда я получаю свою сеть, я устанавливаю видимость макета кадра на видимый с фоном, установленным на полупрозрачный, и отключаю элементы управления в базовом представлении.Работает довольно хорошо.

<?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content" >
  <ScrollView
    android:id="@+id/itemView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >
  </ScrollView>

  <FrameLayout
   android:id="@+id/itemProgress"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:background="#55000000"
   android:visibility="gone"
   >
   <ProgressBar
     style="?android:attr/progressBarStyleLarge"
     android:layout_height="wrap_content"
     android:layout_width="wrap_content"
     android:layout_gravity="center|center_vertical"
     android:indeterminateOnly="true"
   />
  </FrameLayout>
</RelativeLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...