我希望有一个可绘制的资源,其中包含一行圆圈,其中一个圆圈在实心背景中与此类似(请参阅底部的圆圈行)。我想展示一个从左到右的动画,拥有一个可绘制的资源是实现它的第一步。我怎样才能做到这一点。感谢
答案 0 :(得分:3)
您可以使用Jake Wharton的ViewPagerIndicator为ViewPager中的每个标签添加标题或简单的圆圈。
上提供的示例代码您还可以使用Greendroid library
的ViewPager和PageIndicator答案 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步。 这是第二个数组元素。
屏幕的下半部分
<强> [编辑] 强>
为什么我选择文字而不是图像?
因为它是:
光(ttf字体是矢量图形),
可扩展(我不必为不同的屏幕分辨率提供几个PNG),
easy (读取数组一次,并相应地设置TextView的文本),
可维护(我应该添加或删除一些步骤,只需相应地修改字符串数组)
答案 2 :(得分:0)
您可以像上图一样拍摄圆圈图像,然后在图像视图中水平放置图像,就像上图一样。