在屏幕中央放置两个视图

我有两个视图(com.github.mikephil.charting.charts.BarChart和LinearLayout),一个视图内的内容高约600 dp,另一个视图有500 dp。两个视图的宽度均为fill_parent。

我想将它们都放置在屏幕中央(以便它们重叠)。

不幸的是,Android的布局对齐方式非常不直观,对我来说命中或错过,而我却无法实现。

你能帮忙吗?

               <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>

我想将两个View都放置在屏幕中央的此RelativeLayout中,

评论
  • Jane
    Jane 回复

    Put in the 2 views you wanna to place in center inside a RelativeLayout, then add android:layout_centerInParent="true" into the 2 views.

    例如,它看起来像这样:

    <RelativeLayout  
         android:layout_width="match_parent"
         android:layout_height="match_parent">
           <com.github.mikephil.charting.charts.BarChart
                ....all other stuff
    
                android:layout_centerInParent="true" > //..add this 
    
    
          <LinearLayout
               ..... all other stuff
               android:layout_centerInParent="true"  > //..add this 
    
    
          </LinearLayout>
    
    </RelativeLayout>