Android: les boutons de liste linéaire pondérés disparaissent
-
28-10-2019 - |
Question
J'ai vu de nombreux articles à ce sujet et j'ai essayé de nombreuses solutions, mais pour une raison quelconque, rien ne fonctionne. Je veux juste que les boutons partagent un espace égal ... pouvez-vous s'il vous plaît regarder mon code XML et voir si quelque chose ne va pas? Merci!
<ScrollView android:id="@+id/scrollview1"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:weightSum="120">
<Button android:id="@+id/btn_mission" android:layout_width="0dp"
android:layout_height="wrap_content" android:background="#8D8BB7"
android:layout_weight="20" android:text="Mission">
</Button>
<Button android:id="@+id/btn_news" android:layout_width="0dp"
android:layout_height="wrap_content" android:background="#8D8BB7"
android:layout_weight="20" android:text="News/Events">
</Button>
<Button android:id="@+id/btn_studentservices"
android:layout_width="0dp" android:layout_height="wrap_content"
android:background="#8D8BB7" android:layout_weight="20"
android:text="Student Services">
</Button>
<Button android:id="@+id/btn_facultyservices"
android:layout_width="0dp" android:layout_height="wrap_content"
android:background="#8D8BB7" android:layout_weight="20"
android:text="Faculty Services">
</Button>
<Button android:id="@+id/btn_staff" android:layout_width="0dp"
android:layout_height="wrap_content" android:background="#8D8BB7"
android:layout_weight="20" android:text="Staff">
</Button>
<Button android:id="@+id/btn_library" android:layout_width="0dp"
android:layout_height="wrap_content" android:background="#8D8BB7"
android:layout_weight="20" android:text="Library">
</Button>
</LinearLayout>
</ScrollView>
</LinearLayout>
Edit: cela semble être quelque chose à voir avec la définition de l'arrière-plan, j'ai supprimé l'arrière-plan et tout ce qui est partagé d'espace égal, sauf que vous devez toujours faire défiler.
La solution
Votre linearlayout a une orientation verticale, donc au lieu de android:layout_width="0dp"
Tu devrais utiliser android:layout_height="0dp"
.
Autres conseils
Essayez de retirer android:weightSum="120"
et définir le android:layout_weight="20"
à android:layout_weight="1"
sur tous les boutons.