Google Glass GDK:进度指标?

时间:2013-11-27 09:02:18

标签: google-glass google-gdk

使用GDK(或以其他方式),有没有办法显示类似于连接到Glass上的WiFi网络时显示的进度指示器? (显示屏底部的"旋转"线,类似于此视频的结尾:https://www.youtube.com/watch?v=g3ncmeGaKN0

谢谢!

8 个答案:

答案 0 :(得分:25)

UPD 04.11.2014: Google发布了适用于此的Slider - UX组件。您应该更好地使用它而不是提取的项目。


我从GlassHome.apk中提取了Google Glass Progress Bar,并根据它创建了一个库项目:https://github.com/pif/glass-progress-bar

  • 支持不确定
  • 支持默认进度

repository中的自述文件中描述了用法。

是的,每个人都在等待一套全功能的Glass Views。

Here's a demo of what was achieved

更新:我也提取了MessageDialog。你可以在同一个图书馆找到它。

Here's a demo of MessageDialog

答案 1 :(得分: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

我绝对不知道如何覆盖这种颜色。

答案 2 :(得分:3)

我知道我迟到了,但这是我的版本:)。

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

在gradle文件中添加您的项目

compile 'com.github.prt2121:ProgressBar:1.0@aar'

截图:

white

改变颜色

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

enter image description here

答案 3 :(得分:3)

谷歌使用滑块(全球用户体验组件)https://developers.google.com/glass/develop/gdk/slider

解决了此问题

答案 4 :(得分:2)

GDK会自动覆盖某些小部件的主题,以提供类似Glass的外观,例如TextView。对于尚未拥有该主题的小部件,请file an issue在此处,以便我们对其进行跟踪。

答案 5 :(得分:1)

我把上面的答案放在一起,为我的卡片列表加载器活动创建一个总体布局。这是布局文件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中的卡列表的范例。

答案 6 :(得分:0)

我们遇到了类似的问题,并找到了适用于我们的混合方法。我们使用上一篇文章中提到的标准进度条@patridge,并应用Android Holo Colors提供的生成的Holo样式。

我们能够生成一个白色进度条图像,动画,图层和样式,看起来非常类似于内置的GDK版本。您可以通过编辑Holo Color生成的png图像的大小来增加条形的高度以匹配GDK。

您将需要项目中包含的生成文件,但这是我们之后的主题:

<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进度条已经完成。

答案 7 :(得分:0)

尝试使用zoom-in项目中的ProgressBar