相对布局:如何将元素右侧剩余 space 中的视图居中?

Relative Layout: How to center view in the remaining space to the right of an element?

我正在尝试将我的 'SKIP' 按钮置于 space 小图标 右侧 的其余 Android 中心.我怎样才能在相对布局中做到这一点?

这是我目前的 XML

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/min_touch_target_size"
    android:layout_alignParentBottom="true"
    android:background="@android:color/transparent"
    android:orientation="horizontal"
    >

    <ImageView
        android:src="@drawable/ic_android"
        android:id="@+id/circle_page_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        />

    <Button
        android:text="SKIP"
        style="@style/intro_feature_ad_button_style.right_anchor"
        android:id="@+id/skip_button" />
</RelativeLayout>

试试这个

    <RelativeLayout android:layout_width="match_parent" android:layout_height="@dimen/min_touch_target_size"
     android:layout_alignParentBottom="true"
     android:background="@android:color/transparent"
     android:orientation="horizontal" >
 <ImageView

         android:src="@drawable/ic_android"

         android:id="@+id/circle_page_indicator"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" android:padding="3dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" /> 
        <RelativeLayout
     android:layout_width="match_parent"
     android:layout_height="match_parent">
        <Button 
        android:text="SKIP" 
        android:layout_centerInParent="true"
        style="@style/intro_feature_ad_button_style.right_anchor" android:id="@+id/skip_button" />
         </RelativeLayout>
         </RelativeLayout>

将按钮包装在具有 android:layout_alignParentEnd="true"android:layout_toEndOf="@+id/circle_page_indicator"FrameLayout 中。按钮需要有 android:layout_gravity="center"

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/min_touch_target_size"
    android:layout_alignParentBottom="true"
    android:background="@android:color/transparent" 
    >
    <ImageView
        android:src="@drawable/ic_android"
        android:id="@+id/circle_page_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true" 
        />
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_toEndOf="@+id/circle_page_indicator" 
        >
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="skip"
            android:id="@+id/skip_button"
            android:layout_gravity="center" 
            />
    </FrameLayout>
</RelativeLayout>

这成功了。将 Button 包装在具有 android:layout_alignParentEnd="true"android:layout_toEndOf="@+id/circle_page_indicator"FrameLayout 中。 Button 需要重心居中。

完整代码如下:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="@dimen/min_touch_target_size"
    android:layout_alignParentBottom="true"
    android:background="@android:color/transparent"
    >

    <ImageView
        android:src="@drawable/ic_android"
        android:id="@+id/circle_page_indicator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        />
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_toEndOf="@+id/circle_page_indicator"
        >
        <Button
            android:text="skip"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/skip_button"
            android:layout_gravity="center"
            />
    </FrameLayout>
</RelativeLayout>