Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 进度条楼梯_Java_Android_Xml_User Interface - Fatal编程技术网

Java 进度条楼梯

Java 进度条楼梯,java,android,xml,user-interface,Java,Android,Xml,User Interface,我刚刚开始开发Android应用程序。因此,我有一个问题,设计我的GUI。也许有一个可能的内置小部件,但我没有合适的措辞来找到它(英语不是我的母语) 我正在寻找类似评级栏的东西,在这里可以选择1到5之间的值。我不想要星星,我想要一些横条(左边的是最小的,右边的是最高的)。应类似于信号强度通知中的“楼梯”。为了让它更具挑战性,我希望每个条都有不同的颜色(最小值为绿色,最大值为红色)。因此,我认为带有不同图纸的评级条不适合我的需要,因为我可以改变星形布局,而不是像第一个星形变成5dp条,第二个变成1

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

我正在寻找类似评级栏的东西,在这里可以选择1到5之间的值。我不想要星星,我想要一些横条(左边的是最小的,右边的是最高的)。应类似于信号强度通知中的“楼梯”。为了让它更具挑战性,我希望每个条都有不同的颜色(最小值为绿色,最大值为红色)。因此,我认为带有不同图纸的评级条不适合我的需要,因为我可以改变星形布局,而不是像第一个星形变成5dp条,第二个变成15dp条等等

有没有我可以使用的内置小部件

我附上了一张照片来表达我的想法


我希望您能帮助我

通过
级别列表
可以轻松实现您的需求。在您的情况下,您需要五个不同的可绘制文件,每个级别上都有,然后将它们组合到一个可绘制的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>


例如,将此可绘制设置为
ImageView
的源。在运行时,检索
ImageView
并调用
setImageLevel
,使用0和4之间的值,将显示相应的级别

好的,很好,谢谢:)是否可以检测到用户单击了哪个条(或可绘图条的一部分)?例如,当我希望用户在触摸第三个栏时直接将imagelevel设置为3时,而不是使用level list解决方案。我可能误解了你的问题。为什么你不能使用分级栏呢?我喜欢分级列表的解决方案-显示完全符合我的要求。但我希望有一个可点击的组件来更改图像级别(如评级栏)。我认为定制评级栏可能很难有5个不同的级别栏,而不是5个看起来相同的星星。还是像级别列表解决方案一样编辑分级栏的外观?它稍微复杂一些,但两者都可以。在分级栏上,您必须使用自定义样式,以便自定义
progressDrawable
。你可以尝试将两者结合起来,但我不确定它是否会起作用。为了简单起见,我建议您使用
级别列表
方法好的,看起来它不起作用。分级栏可以通过progressdrawable定制,但您只能更改一个星形(空和满)的外观。所以我想没有办法制作不同大小的酒吧。