根据一定的值设置ImageView的位置

问题描述

我在xml布局中有一个视图,该视图包含3种颜色(红色,橙色,绿色)的块(每个块都是单独的视图组件),如下图所示: Image Of View

在上图中,有一个蓝色箭头指示基于某个值的水平: (红色-危险,橙色-很好,绿色-很好)

例如,

  • 如果该值为< 5,则箭头位置应为红色
  • 如果值为> 10,则箭头位置应为绿色
  • 如果该值介于6 and 9之间,则箭头位置应为橙色。

但是我正在努力锻炼如何按照布局比例设置箭头的 y position。它确实会更改位置,但不会准确更改。请帮助我。

这是我到目前为止在Activity中所拥有的:

constraint_layout_view.viewTreeObserver.addOnGlobalLayoutListener(object :
            ViewTreeObserver.OnGlobalLayoutListener {
            override fun onGlobalLayout() {
               
                topHeight = greenIndicator.height 
                middleHeight = orangeIndicator.height 
                bottomHeight = redindicator.height 

                var value = 7
               
                if(value >= 6 && value <= 9){
                     arrowIndicator.y = middleHeight - value
                 }
                
            }
        })

任何帮助或建议将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...