【问题标题】:Button, progress circle and infinitive loading circle in same widget?同一个小部件中的按钮,进度圈和不定式加载圈?
【发布时间】:2018-01-26 15:38:25
【问题描述】:

我正在寻找在一个小部件中实现三个不同的功能。小部件将放置在显示屏的中心,我将尝试解释它应该如何工作。

当用户打开应用时,它会显示这个活动:

当用户点击圆圈内的文本/时,它会创建一个背景AsyncTask,用于连接、验证并从设备获取状态。在连接、验证和要求设备状态时,ProgressBar 圈子应该在无限循环中运行,就像加载圈子一样。

如果应用成功连接到设备,圆圈和文字的颜色会发生变化:

这里用户需要按住按钮 3 秒才能启用。当用户按住按钮时,ProgressBar 正在从 0% 加载到 100%(每秒 33.3%)。之后,ProgressBar 在应用程序与设备通信时返回无限加载循环。

应用程序的最后一个阶段是禁用设备,它应该与启用阶段的工作方式相同。

调用MainActivity().onPause()时,应用会断开与设备的连接。

我需要创建 3 个静态绘图和 5 个动画绘图吗?或者它是一种更好的方法吗?我应该如何创建小部件?我是否应该创建一个extendsButton 的小部件,其中ProgressBar 在小部件内。或者我应该创建一个 extends ProgressBarimplements OnClickListener 的小部件?

自从我上次为 Android 开发东西以来已经有很长时间了。而且我从未在需要多种功能的小部件中工作过。所以我需要一些建议。

【问题讨论】:

标签: android button android-progressbar


【解决方案1】:

您可以使用相同高度和宽度的不确定进度条,例如:

<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>

【讨论】:

    猜你喜欢
    • 2018-04-26
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2019-05-11
    • 2012-12-22
    相关资源
    最近更新 更多