J'ai deux vues (com.github.mikephil.charting.charts.barchart et linearlayout), le contenu à l'intérieur d'une vue est d'environ 600 DP de haut, l'autre a une fois de 500 dp. La largeur des deux vues est Fill_Parent.
Je voudrais les positionner à la fois au centre de l'écran (ils se chevauchent donc). P>
Malheureusement, l'alignement de la mise en page d'Android est très inincupé et frappé pour moi et je ne suis pas capable de réaliser cela. p>
pouvez-vous s'il vous plaît aider? p>
<RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:orientation="vertical" android:background="#11FFFFFF"> <com.github.mikephil.charting.charts.BarChart android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="500dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:gravity="center"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="50dp" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="150dp" android:includeFontPadding="false"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="HITS" android:textAppearance="?android:attr/textAppearanceLarge"/> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="50dp" android:orientation="vertical" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textSize="150dp" android:includeFontPadding="false"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="MISSED" android:textAppearance="?android:attr/textAppearanceLarge"/> </LinearLayout> </LinearLayout> </RelativeLayout>
3 Réponses :
Mettez dans les 2 vues que vous souhaitez placer dans le centre à l'intérieur d'un relativenelayout code>, ajouter
android: layout_centerinparent = "vrai" code> dans les 2 vues.
beau frère..hyppy coding
Définissez votre mise en page principale comme avec ce code, votre barchart est au-dessus de votre linearlayout. P> p> contraintlayout code>, puis contraint tous les deux éléments à leur parent.
Quelque chose comme ceci:
Dans mon expérience, c'est la plupart du temps que la meilleure pratique d'utiliser le récipient le plus léger possible, ce qui est probablement un framelayout code>, donc je l'utiliserais au lieu de
relativenelayout code > et utilisez
Android: Layout_gravity = "Centre" code> Dans la sous-sousviews similaire à celui-ci par exemple:
Pouvez-vous publier votre code XML aussi pour cette 2 vue ??