Android布局--视图在左侧,视图在父视图中居中

Android布局--视图在左侧,视图在父视图中居中,android,android-layout,android-relativelayout,Android,Android Layout,Android Relativelayout,如果以前有人问过这个问题,我很抱歉,但我在Google/SO上没有看到任何东西,令人沮丧的是,我在coded中尝试的一切都没有起作用 我试图实现的是在左侧对齐一个菜单图像按钮,并在屏幕上居中显示一个徽标图像视图。但是,如果徽标图像太大,它会与菜单按钮重叠,因此我添加了layout_toRightOf。不幸的是,徽标不再居中 我也尝试过使用线性布局,但运气不佳 以下是我目前的布局: <RelativeLayout xmlns:android="http://schemas.android.c

如果以前有人问过这个问题,我很抱歉,但我在Google/SO上没有看到任何东西,令人沮丧的是,我在coded中尝试的一切都没有起作用

我试图实现的是在左侧对齐一个菜单图像按钮,并在屏幕上居中显示一个徽标图像视图。但是,如果徽标图像太大,它会与菜单按钮重叠,因此我添加了layout_toRightOf。不幸的是,徽标不再居中

我也尝试过使用线性布局,但运气不佳

以下是我目前的布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:rounded="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<!-- Title Bar -->
<TextView
    android:id="@+id/titleBar"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="#000000"
    android:clickable="true"
    android:gravity="center"
    android:text=""
    android:textAlignment="center"
    android:textColor="#FFFFFF" />


<ImageButton
    android:id="@+id/menuButton"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="4dp"
    android:layout_marginTop="2dp"
    android:scaleType="fitCenter"
    android:src="@drawable/menu_item_lite"/>

<ImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_alignTop="@+id/menuButton"
    android:layout_toRightOf="@+id/menuButton"
    android:layout_centerHorizontal="true"
    android:paddingRight="10dp"
    android:paddingLeft="5dp"
    android:scaleType="fitCenter"
    android:src="@drawable/logo" />
<RelativeLayout/>


感谢您的帮助

您可以通过另一种方式完成,将徽标居中,然后在imagebutton中使用toLeftOf

您可以更改图像的顺序,以便菜单图像始终位于徽标上方:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:rounded="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<!-- Title Bar -->
<TextView
    android:id="@+id/titleBar"
    android:layout_width="match_parent"
    android:layout_height="45dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:background="#000000"
    android:clickable="true"
    android:gravity="center"
    android:text=""
    android:textAlignment="center"
    android:textColor="#FFFFFF" />


<ImageView
    android:id="@+id/imageView"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_alignTop="@+id/menuButton"
    android:layout_toRightOf="@+id/menuButton"
    android:layout_centerHorizontal="true"
    android:paddingRight="10dp"
    android:paddingLeft="5dp"
    android:scaleType="fitCenter"
    android:src="@drawable/logo" />    
<ImageButton
    android:id="@+id/menuButton"
    android:layout_width="wrap_content"
    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="4dp"
    android:layout_marginTop="2dp"
    android:scaleType="fitCenter"
    android:src="@drawable/menu_item_lite"/>


<RelativeLayout/>

如果您试图确保imageView始终位于屏幕的中心,并且始终位于菜单按钮的右侧,您可以使用一种(略显粗糙的)方法,在屏幕的右侧添加另一个不可见的菜单按钮,并使中心图像也位于该按钮的左侧

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:rounded="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/rootView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <!-- Title Bar -->
    <TextView
        android:id="@+id/titleBar"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="#000000"
        android:clickable="true"
        android:gravity="center"
        android:text=""
        android:textAlignment="center"
        android:textColor="#FFFFFF" />


    <ImageButton
        android:id="@+id/menuButton"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="4dp"
        android:layout_marginTop="2dp"
        android:scaleType="fitCenter"
        android:src="@drawable/menu_item_lite"/>

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignTop="@+id/menuButton"
        android:layout_toRightOf="@+id/menuButton"
        android:layout_toLeftOf="@+id/invisibleMenuButton"
        android:layout_centerHorizontal="true"
        android:paddingRight="10dp"
        android:paddingLeft="5dp"
        android:scaleType="fitCenter"
        android:src="@drawable/logo" />

    <ImageButton
        android:id="@+id/invisibleMenuButton"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="4dp"
        android:layout_marginTop="2dp"
        android:scaleType="fitCenter"
        android:src="@drawable/menu_item_lite"
        android:visibility="invisible"/>
</RelativeLayout>


我也试过这个;但是,imageButton从左侧移到了左侧边缘与徽标之间更居中的位置。如果您还想将其保持在边框上,可以同时使用toLeftOf和alignParentLefthave“android:layout\u alignParentLeft=“true”