根据给定值Android

时间:2016-06-22 22:58:38

标签: android

我想在我的应用中有一个背景,根据给定的数字改变颜色。让我详细说明一下。例如,我传递100中的数字40,屏幕的2 / 5s应该是x颜色,而其他3 / 5s应该是另一种颜色。这是两个小图:

40 / 100                   40/60
+---+                      +---+
|   | 3/5 not filled in    |   | 1/3 not filled in
|   |                      |...| 2/3 filled in
|   |                      |...|
|...| 2/5 filled in        +---+
|...|
+---+

所以我想我可以通过绘制形状来制作动态背景(给出一定数量)。问题是,我不确定如何做到这一点。我在哪里放置代码来绘制形状,以及我如何在正确的位置将它们插入到我的XML文件中(我已经在我的XML中有一个静态颜色背景)?

1 个答案:

答案 0 :(得分:0)

好的,您需要创建一个包含两个线性布局的活动。 width属性将设置为 match_parent ,高度将设置为 0dp 。然后,您将能够使用X%的布局权重设置高度。

例如,这些布局将屏幕分成25%75%:

<LinearLayout

    layout_weight="1"/>

<LinearLayout

    layout_weight="3"/>

给他们一个id来以编程方式更改值(重量和背景颜色)。

你可以这样做:

LinearLayout top = findViewById(R.id.top);

//Third Param stands for weight
LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(
                             LayoutParams.MATCH_PARENT, 0, 1.0f);

top.setLayoutParams(param);
    top.setBackgroundColor(Color.BLUE);