2015-03-16 6 views
0

Привет, у меня есть 3 круга в Android, которые показывают прогресс, являются настраиваемым элементом (ViewProgressbar), который наследуется от относительной компоновки.Android три круга разных размеров

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:gravity="center"> 

    <com.theproject.ui.view.ViewProgressbar 
    android:id="@+id/vps_history_progress1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:value= "@string/zero" 
    app:subject = "@string/txt_progress1" 
    /> 

    <com.theproject.ui.view.ViewProgressbar 
    android:id="@+id/vps_history_progress2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:value= "@string/zero" 
    app:subject = "@string/txt_progress2" 
    /> 

    <com.theproject.ui.view.ViewProgressbar 
     android:id="@+id/vps_history_progress3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     app:value= "@string/zero" 
     app:subject = "@string/txt_progress3" 
    /> 

</LinearLayout> 

Проблема, с которой я столкнулась, заключается в том, что в устройствах с маленьким экраном круговой круг меньше остальных. Я думаю, это связано с тем, что я использую wrap_content. Есть ли способ заставить три круга одинакового размера?

спасибо

ответ

1

Да, есть. Используйте weight атрибут:

<com.theproject.ui.view.ViewProgressbar 
    android:id="@+id/vps_history_progress1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
     android:layout_weight=1 
    app:value= "@string/zero" 
    app:subject = "@string/txt_progress1" 
/> 

Повторите это для других точек зрения внутри вашего LinearLayout.

+0

спасибо, сработало отлично! – agusgambina

+0

Рад помочь;) – vinitius

1

Замените свой ресурс на это. Обратите внимание, что WeightSum составляет 3 и каждый ребенок равен 1, чтобы добавить до 3. Каждый ребенок будет равномерно распределен по горизонтали.

<LinearLayout 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal" 
android:weightSum="3" 
android:gravity="center"> 

<com.theproject.ui.view.ViewProgressbar 
android:id="@+id/vps_history_progress1" 
android:layout_width="wrap_content" 
android:layout_height="0dp" 
android:layout_weight="1" 
app:value= "@string/zero" 
app:subject = "@string/txt_progress1" 
/> 

<com.theproject.ui.view.ViewProgressbar 
android:id="@+id/vps_history_progress2" 
android:layout_width="wrap_content" 
android:layout_height="0dp" 
android:layout_weight="1" 
app:value= "@string/zero" 
app:subject = "@string/txt_progress2" 
/> 

<com.theproject.ui.view.ViewProgressbar 
android:id="@+id/vps_history_progress3" 
android:layout_width="wrap_content" 
android:layout_height="0dp" 
android:layout_weight="1" 
app:value= "@string/zero" 
app:subject = "@string/txt_progress3" 
/> 

</LinearLayout> 
Смежные вопросы