进度栏楼梯

时间:2015-07-15 12:30:02

标签: java android xml user-interface

我刚刚开始开发Android应用程序。因此,我有一个问题,设计我的GUI。也许有一个可能的内置小部件,但我找不到正确的措辞(英语不是我的母语)。

我正在寻找像评级栏这样的东西,你可以选择1到5之间的值。而不是星星,我想要一些酒吧(左边是最小的,右边是最高)。应该看起来像信号强度通知中的“楼梯”。为了使它更具挑战性,我希望每个条形图都有不同的颜色(最小值为绿色,最高值为红色)。因此我不认为带有不同图纸的评级栏会满足我的需求,因为afaik我可以改变星形布局,不像第一颗星应该变成5dp条,第二颗星应该变成15dp等等。

我可以使用小部件中的任何构建吗?

我附上了一张照片来展示我的想法。

image view

我希望你能帮助我

1 个答案:

答案 0 :(得分:3)

使用level-list可以轻松实现您想要的效果。在您的情况下,您需要为每个级别打开五个不同的drawable,然后将它们组合在一个可绘制的xml文件中,如:

<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/no_level"
    android:maxLevel="0" />
<item
    android:drawable="@drawable/first_level"
    android:maxLevel="1" />
<item
    android:drawable="@drawable/second_level"
    android:maxLevel="2" />
<item
    android:drawable="@drawable/third_level"
    android:maxLevel="3" />

<item
    android:drawable="@drawable/forth_level"
    android:maxLevel="4" />
</level-list>
例如,

并将此drawable设置为ImageView的源。在运行时,检索ImageView并使用0和4中的值调用setImageLevel,并显示相应的级别