android 如何在 DragLayer 中保持中心相对布局

how to keep center relativelayout inside DragLayer in android

   <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:layout_gravity="top"
            android:layout_weight=".1"
            android:background="@color/colorPaleGrey2"
            android:orientation="vertical">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:paddingTop="20dp">

                <TextView
                    android:id="@+id/meeting_text"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:fontFamily="sans-serif-medium"
                    android:gravity="center_horizontal"
                    android:text="Entrepreneur Meet Up"
                    android:textColor="@color/blackDark"

                    android:textSize="20.1sp"
                    android:textStyle="normal" />

                <TextView
                    android:id="@+id/time"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@id/meeting_text"
                    android:layout_centerInParent="true"
                    android:layout_marginTop="10dip"
                    android:fontFamily="sans-serif-medium"
                    android:gravity="center_horizontal"
                    android:lineSpacingExtra="6sp"
                    android:text="(11:30AM - 4:00PM)"
                    android:textColor="@color/bluey_grey_three"
                    android:textSize="14sp"
                    android:textStyle="normal" />

            </RelativeLayout>

            <com.kdcos.contsync.utilities.dragview.DragLayer
                android:id="@+id/framelayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

                <RelativeLayout
                    android:id="@+id/rl_dropView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:padding="40dp">

                    <ImageView
                        android:id="@+id/imageView"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_alignParentTop="true"
                        android:layout_centerHorizontal="true"
                        android:background="@drawable/ic_drop_cards" />

                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/imageView"
                        android:layout_centerInParent="true"
                        android:layout_gravity="center_horizontal|center"
                        android:fontFamily="sans-serif"
                        android:gravity="center_horizontal"
                        android:lineSpacingExtra="10sp"
                        android:text="Drop Cards Here"
                        android:textColor="@color/blackDark"
                        android:textSize="10sp"
                        android:textStyle="normal" />
                </RelativeLayout>
            </com.kdcos.contsync.utilities.dragview.DragLayer>

        </LinearLayout>

这是我的 xml 我想把 rl_dropView center 放在里面 com.kdcos.contsync.utilities.dragview.DragLayer 我这样写 xml 我无法设置它 请看看我的屏幕请看我想设置 dropView center 但是从我的代码中它的左上角请建议如何在 center 中设置它。

下面是我当前的屏幕:

如果 DragLayerRelativeLayout 的子类,那么它应该可以工作,否则尝试下面的解决方案

解决方案 1

    <com.kdcos.contsync.utilities.dragview.DragLayer
                android:id="@+id/framelayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical">

           <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <RelativeLayout
                    android:id="@+id/rl_dropView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerInParent="true"
                    android:padding="40dp">

                    <ImageView
                        android:id="@+id/imageView"
                        android:layout_width="30dp"
                        android:layout_height="30dp"
                        android:layout_alignParentTop="true"
                        android:layout_centerHorizontal="true"
                        android:background="@drawable/ic_drop_cards" />

                    <TextView
                        android:id="@+id/textView2"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/imageView"
                        android:layout_centerInParent="true"
                        android:layout_gravity="center_horizontal|center"
                        android:fontFamily="sans-serif"
                        android:gravity="center_horizontal"
                        android:lineSpacingExtra="10sp"
                        android:text="Drop Cards Here"
                        android:textColor="@color/blackDark"
                        android:textSize="10sp"
                        android:textStyle="normal" />
                </RelativeLayout>
        </RelativeLayout>
            </com.kdcos.contsync.utilities.dragview.DragLayer>

更新

解决方案 2

我在 DragLayer 下的代码中看到 android:orientation="vertical"。它的意思是 DragLayerLinearLayout 的子类,所以在 RelativeLayout 中只需更改

android:layout_centerInParent="true"

至:

android:layout_gravity="center_vertical"