【发布时间】:2012-02-14 22:29:13
【问题描述】:
我正在尝试绘制类似于进度条的东西。但是,在我的例子中,进度条是一个带有不同颜色的扫弧的圆圈,如下所示(图 2 显示了设计的快照,其中一些进度用黄色表示)。作业完成后,整个圆圈将变为黄色。
为了做到这一点,我想使用 xml 布局创建一个圆圈,我可以使用以下代码来做到这一点:
在 res/drawable/circle.xml 中
<solid android:color="@color/red" />
<size
android:height="200dp"
android:width="200dp" />
<padding
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp" />
在我的主布局中,我只是将其设置为框架布局的背景...
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/circle" >
</FrameLayout>
</LinearLayout>
我知道如何使用http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Arcs.htmlhttp://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Arcs.htmlandroid 演示代码中给出的示例来绘制弧线
我在如何将这两者结合起来创建一个全面的动作方面有点挣扎。我知道我们必须创建一个线程并像演示中的那样创建一个 onDraw - 但是如何将扫弧中心设置为绘制圆的中心? Java 代码会是什么样子(在活动中)?谢谢!
【问题讨论】:
-
我认为您可能只需要创建一个处理动画的自定义视图。从好的方面来说,它应该不会太糟糕。
-
我明白了,我知道如何根据演示来做到这一点。我希望我可以在 xml 中创建一个完整的布局,然后在代码中添加“扫描”弧部分。如果我们可以将自定义视图放入已经定义的布局中,这将是可能的。
-
感谢 AedonEtLIRA。我认为这与我之前提到的演示中所示的相同。我意识到可以以编程方式添加视图。但是视图可以“重叠”视图吗?如果是这种情况,我们可以添加所有“静态”部分(包括圆圈),然后添加一个带有“扫弧”动画的自定义视图,该动画位于使用 xml 创建的静态视图之上。
-
我会看看stackoverflow.com/questions/4901408/… - 看看那里的解决方案加上我上面的评论是否可以帮助我..