Подтвердить что ты не робот

Google Glass GDK: индикатор прогресса?

Используя GDK (или каким-либо другим способом), есть ли способ отображения индикатора прогресса, аналогичного показанному при подключении к сети WiFi на стекле? ( "вращающиеся" линии в нижней части дисплея, вроде как в конце этого видео: https://www.youtube.com/watch?v=g3ncmeGaKN0)

Спасибо!

4b9b3361

Ответ 2

UPD 04.11.2014: Опубликован Google Slider - компонент UX подходит для этого. Вам лучше использовать его вместо извлеченного проекта.


Я извлек Google Glass Progress Bar из GlassHome.apk и создал проект библиотеки на основе этого: https://github.com/pif/glass-progress-bar

  • поддерживает неопределенный
  • поддерживает ход по умолчанию.

Использование описано в README в репозитории .

И да, все все еще ждут полнофункционального набора Glass Views.

Here's a demo of what was achieved

Обновление. Я также извлек MessageDialog. Вы можете найти его в той же библиотеке.

Here's a demo of MessageDialog

Ответ 3

Это довольно близко, но цвет выключен (синий/чирок/что-то вместо белого).

style="?android:attr/progressBarStyleHorizontal"

Пример (через OkGlassFindACat):

<ProgressBar
    android:id="@+id/someProgressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:indeterminate="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom" />

Glass progress bar using progressBarStyleHorizontal

Я определенно не понял, как переопределить этот цвет.

Ответ 4

Я знаю, что опаздываю, но здесь моя версия:)

https://github.com/prt2121/glass-gdk-progressbar

добавление к вашему проекту в файле gradle

compile 'com.github.prt2121:ProgressBar:[email protected]'

скриншот:

white

изменение цвета

app:progress_color="@android:color/holo_blue_bright"

enter image description here

Ответ 5

GDK автоматически отменяет темы для некоторых виджетов, чтобы обеспечить надлежащий внешний вид Glass, например TextView. Для виджетов, которые еще не имеют этой темы, напишите здесь проблему, чтобы мы могли ее отслеживать.

Ответ 6

Я собрал ответ выше, чтобы создать общий макет для моих действий загрузчика карточного списка. Здесь файл макета card_scroll_with_progress_layout.xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black">

    <com.google.android.glass.widget.CardScrollView
        android:id="@+id/card_scroll_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ProgressBar
        android:id="@+id/progress_bar"
        style="?android:attr/progressBarStyleHorizontal"
        android:indeterminate="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom" />

</FrameLayout>

Затем в onCreate я получаю индикатор выполнения и устанавливаю его:

View rootLayout = getLayoutInflater()
                      .inflate(R.layout.card_scroll_with_progress_layout, null);
mProgressBar = (ProgressBar)rootLayout.findViewById(R.id.progress_bar);
mProgressBar.setVisibility(View.VISIBLE);
mCardScrollView = (CardScrollView)rootLayout
                      .findViewById(R.id.card_scroll_view);
mCardScrollView.setAdapter(mAdapter);
setContentView(rootLayout);

Позже в моем обратном вызове загрузчика я скрою индикатор выполнения и активирую вид прокрутки карты:

public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
    if (loader.getId() == mLoaderId) {
        mAdapter.swapCursor(data);
        mProgressBar.setVisibility(View.GONE);
        mCardScrollView.activate();
    }
}

Это, похоже, хорошо работает как парадигма для обработки различной загрузки json в список карт в GDK.

Ответ 7

У нас была аналогичная проблема, и мы нашли гибридный подход, который работает для нас. Мы используем стандартный индикатор выполнения @patridge, упомянутый в предыдущем посте, и применяем созданные стили Holo, предоставляемые Android Holo Colours.

Мы смогли сгенерировать белые полосы выполнения, изображения, анимацию, слой и стиль, которые очень похожи на встроенную версию GDK. Вы можете увеличить высоту бара, чтобы соответствовать GDK, отредактировав размер изображений, созданных с помощью Holo Color.

Вам понадобятся сгенерированные файлы, включенные в ваш проект, но вот как выглядит наша тема:

<style name="OurGlassTheme" parent="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen">
    <item name="android:progressBarStyleHorizontal">@style/ProgressBarGlass</item>
</style>
<style name="ProgressBarGlass" parent="android:Widget.ProgressBar.Horizontal">
    <item name="android:progressDrawable">@drawable/glass_progress_horizontal_holo_light</item>
    <item name="android:indeterminateDrawable">@drawable/glass_progress_indeterminate_horizontal_holo_light</item>
    <item name="android:minHeight">16dip</item>
    <item name="android:maxHeight">16dip</item>
</style>

Я знаю, что это очень утомительно, но он доставит нас туда, в то время как @giladgo согласился с представлением разработчикам Glass, чтобы обеспечить готовность GDK Progress Bar.

Ответ 8

Попробуйте использовать ProgressBar из проекта zoom-in.