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

Lek*_*eyn 1 graphics android

如何在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>
Run Code Online (Sandbox Code Playgroud)

什么是Android的有效等价物?

酒吧

Jav*_*ave 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>
Run Code Online (Sandbox Code Playgroud)

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