2012-04-05 3 views
1

Как создать панель в 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

+0

Это зависит. Что ты собираешься с этим делать? вкладка навигации? просто кнопки? просто отобразить? – Th0rndike

+0

Он представляет собой день с переходами от черного до белого (и обратно) в определенные моменты времени. Он содержится в строке, которая можно щелкнуть. – Lekensteyn

+0

, тогда ответ Джейва в порядке :) – Th0rndike

ответ

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, чтобы соответствовать вашему шаблону, основанному на процентах.

+1

Спасибо за ваш ответ. Мне нужно было реализовать его на Java и обнаружил, что LinearLayout не может быть пустым или он будет невидим. Я добавил объект View с весом 0, и проблема была решена. – Lekensteyn

Смежные вопросы