如何制作包含多个部分的水平条?

时间:2012-04-05 12:42:18

标签: android graphics

如何在Android中制作包含多个部分的栏?我已经尝试了一个ProgressBar,但我无法让它工作,它也听起来不是ProgressBar的正确应用。在HTML中,我只使用类似的东西:

<style>
#bar { width: 100px; }
.bar { height: 20px; }
.black { background-color: black; }
</style>
<div id="bar">
    <div class="bar"       style="width: 15px;"></div>
    <div class="bar black" style="width: 25%;"></div>
    <div class="bar"       style="width: 5%;"></div>
    <div class="bar black" style="width: 40%;"></div>
    <div class="bar"       style="width: 15%;"></div>
</div>

Android中有效的等价物是什么?

bar

1 个答案:

答案 0 :(得分:5)

使用水平LinearLayout 然后,您可以在其中创建视图,并使用layout_weight属性确定其相对大小。

以下示例给出了您想要的结果:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:weightSum="100" >
    <View
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="15"
        android:background="#FFFF" />
    <View
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="25"
        android:background="#F000" />

    <View
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="5"
        android:background="#FFFF" />

    <View
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="40"
        android:background="#F000" />
    <View
        android:layout_width="0px"
        android:layout_height="match_parent"
        android:layout_weight="15"
        android:background="#FFFF" />
</LinearLayout>

请注意,权重是浮点数。我只是将整数和100的总和对应于基于百分比的布局。