我正在寻找在一个小部件中实现三个不同的功能。小部件将放置在显示器的中心,我将尝试解释它应该如何工作。
当用户打开应用时,它会显示以下活动:
当用户点击圆圈内的文字时,它会创建一个背景AsyncTask
,用于连接,验证并从设备获取状态。当它连接,验证和要求设备状态时,ProgressBar
圆圈应该在无限循环中运行,就像加载圆圈一样。
如果应用成功连接到设备,则圈子和文字的颜色会发生变化:
此处用户需要按住按钮3秒才能启用。当用户按住按钮时,ProgressBar
正在从0%加载到100%(每秒33.3%)。之后,当应用与设备通信时,ProgressBar
会返回到无限加载循环。
该应用程序的最后一个阶段是禁用该设备,它应该与启用阶段的工作方式相同。
当呼叫MainActivity().onPause()
时,应用会与设备断开连接。
我是否需要创建3个静态drawable和5个动画drawable?或者这是一个更好的方法吗?我该如何创建小部件?我是否应该在窗口小部件中创建extends
Button
,ProgressBar
的小部件。或者我应该创建一个extends
ProgressBar
和implements
一个OnClickListener
的小部件?
自从我上次开发适用于Android的东西以来已经很久了。我从未在需要多种功能的小部件中工作过。所以我需要这里的建议。
答案 0 :(得分:0)
您可以使用具有相同高度和宽度的不确定进度条,例如:
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="your_width"
android:layout_height="your_height"
android:indeterminate="true" />
将进度条包含在相对布局中,以便在圆圈上方定位。
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<YourView
android:layout_width = "match_parent"
android:layout_height = "match_parent">
</YourView>
<ProgressBar
android:id="@+id/progressBar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:indeterminate="true" />
</RelativeLayout>