如何在android中绘制一行圆圈

时间:2013-12-31 12:54:47

标签: android android-drawable

我希望有一个可绘制的资源,其中包含一行圆圈,其中一个圆圈在实心背景中与此类似(请参阅底部的圆圈行)。我想展示一个从左到右的动画,拥有一个可绘制的资源是实现它的第一步。我怎样才能做到这一点。感谢

enter image description here

3 个答案:

答案 0 :(得分:3)

您可以使用Jake Wharton的ViewPagerIndicator为ViewPager中的每个标签添加标题或简单的圆圈。

GitHub

上提供的示例代码

您还可以使用Greendroid library

的ViewPager和PageIndicator

查看ViewPagerIndicator Tutorial

答案 1 :(得分:2)

我使用TextView,其中五个字符串(我有5个步骤)全部由Unicode字符组成(\ u26cb表示空心圆圈)和(\ u26cf表示填充圆圈)。

像这样(我将它们存储在 res / values / arrays.xml 文件中):

<!-- Steps -->
<string-array name="steps">
    <item>\u25cf \u25cb \u25cb \u25cb \u25cb</item>
    <item>\u25cb \u25cf \u25cb \u25cb \u25cb</item>
    <item>\u25cb \u25cb \u25cf \u25cb \u25cb</item>
    <item>\u25cb \u25cb \u25cb \u25cf \u25cb</item>
    <item>\u25cb \u25cb \u25cb \u25cb \u25cf</item>
</string-array>

因此,当加载数组时,我可以根据当前步骤轻松设置TextView的文本。

<强> [编辑]

正如您可能知道的那样,Unicode字符不仅仅是“字符”......您可以拥有一些图形图标(字形)。
其中,您会找到圈子(已填充且为空)。

数组中的第一行绘制一个实心圆圈,然后是4个空圆圈 第二行绘制一个空圆圈,一个实心圆圈和3个空圆圈,等等。

要对行进行“动画处理”,只需将TextView传递给数组中的下一个元素即可。正如其文本。

<强> [编辑]

这是一个模拟的ldpi设备屏幕,显示第2步,共5步。 这是第二个数组元素

enter image description here

屏幕的下半部分

<强> [编辑]

为什么我选择文字而不是图像?
因为它是:
(ttf字体是矢量图形),
可扩展(我不必为不同的屏幕分辨率提供几个PNG),
easy (读取数组一次,并相应地设置TextView的文本),
可维护(我应该添加或删除一些步骤,只需相应地修改字符串数组)

答案 2 :(得分:0)

您可以像上图一样拍摄圆圈图像,然后在图像视图中水平放置图像,就像上图一样。