如何为Android创建一个收件箱样式(带有未读计数)小部件?

时间:2011-06-29 15:01:59

标签: android android-widget

我正在尝试为我的Android应用创建一个小部件。我希望它是一个单元格,但在右上角有一个注释。与流行的小部件类似,右侧显示未读电子邮件/短信计数。这似乎是尝试和做的常见的事情,但我找不到任何如何构建这个的例子。

我该怎么做?或者有什么资源可以教我如何做到这一点?

谢谢,

罗宾

3 个答案:

答案 0 :(得分:2)

我不确定你是在询问如何一般地构建一个小部件,还是只是为了获得小的未读指示。 网上有一些教程,一般如何构建一个小部件。例如: this onethe official documentation

一旦掌握了这一点,小指标就成了一个小问题,你只需将它包含在你的布局中即可。更新窗口小部件时,只需更新指示计数的视图,或者在计数为0时将其可见性设置为不可见。

此案例的示例布局为

  <FrameLayout> 
            <RelativeLayout> <ImageView /> </RelativeLayout>
            <RelativeLayout> <TextView /> </RelativeLayout>
  </FrameLayout>

这里的小部件由一个ImageView组成,您通常通过其周围的RelativeLayout来居中。第二个RelativeLayout中的Textview可以是您未读的指示符。 将它放在角落里,就像在RelativeLayout中一样,并将其设置样式(通过android:background =“@ drawable / my_indicator_background”或沿着这些线条的东西)。

就是这样。 :)

答案 1 :(得分:1)

在我的一个项目中实现了Link,用于我实现的布局。

我建议阅读相对布局,这里是link

希望得到这个帮助。

答案 2 :(得分:0)

像这样的小部件基本上是标准的RemoteViews实现:http://developer.android.com/guide/topics/appwidgets/index.html是小部件的指南。您需要一个XML布局,将图标绘制为窗口小部件背景,如果计数大于0,则将其覆盖在角落中的图像。您可以使用带有背景图像的TextEdit视图和位于中心的图像数量。背景作为计数。

当您需要更新它时,您可以从布局文件创建一个新的RemoteViews实例,根据计数设置或隐藏TextEdit,然后调用http://developer.android.com/reference/android/appwidget/AppWidgetManager.html#updateAppWidget%28int,%20android.widget.RemoteViews%29来更新小部件。