很抱歉,如果之前已经提出过这个问题,但我还没有在Google / SO上看过任何内容,令我感到沮丧的是我编写过的所有内容都没有用。
我想要完成的是在左侧对齐菜单ImageButton并在屏幕上居中显示ImageView徽标。但是,如果徽标图像太大,它会与菜单按钮重叠,因此我添加了layout_toRightOf。不幸的是,徽标不再居中。
我也试过使用LinearLayout但没有运气。
这是我目前的布局:
<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/>
感谢您的帮助
答案 0 :(得分:1)
如果您正在尝试确保imageView始终位于屏幕中心,并且始终位于menuButton的右侧,您可以采用(略微hacky)方法添加另一个不可见的菜单按钮。屏幕右侧,中心图像也是如此。
<?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>
答案 1 :(得分:0)
你可以反过来做,将徽标居中并在图像按钮中使用toLeftOf
答案 2 :(得分:0)
您可以更改图像的顺序,以便菜单图像始终位于徽标上方:
<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/>