我刚刚开始开发Android应用程序。因此,我有一个问题,设计我的GUI。也许有一个可能的内置小部件,但我找不到正确的措辞(英语不是我的母语)。
我正在寻找像评级栏这样的东西,你可以选择1到5之间的值。而不是星星,我想要一些酒吧(左边是最小的,右边是最高)。应该看起来像信号强度通知中的“楼梯”。为了使它更具挑战性,我希望每个条形图都有不同的颜色(最小值为绿色,最高值为红色)。因此我不认为带有不同图纸的评级栏会满足我的需求,因为afaik我可以改变星形布局,不像第一颗星应该变成5dp条,第二颗星应该变成15dp等等。
我可以使用小部件中的任何构建吗?
我附上了一张照片来展示我的想法。
我希望你能帮助我
答案 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
,并显示相应的级别