我遇到了一个简单的问题而且我知道我正在做一些小错误的问题,我的问题是当我在MainActivity中使用set Toolbar时以及当我尝试在片段中一次添加optionMenu时我的工具栏的孩子组件(在我的情况下为RelativeLayout)大小已更改..
这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/admin_toolbar"
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/button_blue"
app:contentInsetStart="0dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/colorPrimaryDark">
<TextView
android:id="@+id/admin_toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal|center_vertical"
android:text="@string/zenith"
android:textColor="@color/white"
android:visibility="gone" />
<ImageView
android:id="@+id/admin_toolbar_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:src="@drawable/ic_drawer_icon" />
<ImageView
android:id="@+id/adminhome_cust_titleimage"
android:layout_width="@dimen/_100sdp"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:scaleType="fitCenter"
android:src="@drawable/small_app_logo" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>
<include layout="@layout/content_admin_main" />
</LinearLayout>
片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.fragment_admin_home, container, false);
utils = new Utils(getActivity());
calendarView = (CompactCalendarView) view.findViewById(R.id.admin_compactcalendar_view);
setHasOptionsMenu(true);
toolbar = (Toolbar) getActivity().findViewById(R.id.admin_toolbar);
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.adminhome_profilelogo, menu);
}
如何将我的imageView设置在第一张图片中可以看到的正确的中心位置..
答案 0 :(得分:3)
试试这个
<ImageView
android:id="@+id/admin_toolbar_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:src="@drawable/ic_drawer_icon" />
<ImageView
android:id="@+id/adminhome_cust_titleimage"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toLeftOf="@+id/admin_toolbar_icon"
android:layout_alignParentRight="true"
android:scaleType="fitCenter"
android:src="@drawable/small_app_logo" />
但无论如何,如果您要添加更多菜单元素,您的图标将从主页按钮结束和菜单开始居中。此外,您可以删除setHasOptionsMenu
并在ImageView
中再添加一个RelativeLayout
,您的代码也可以使用。
答案 1 :(得分:0)
您可以向工具栏menu
添加额外的ImageView
,而不是使用选项RelativeLayout
,并为您的个人资料图标右对齐。
以下是一个例子:
<android.support.v7.widget.Toolbar
android:id="@+id/admin_toolbar"
android:layout_width="match_parent"
android:layout_height="60dp"
android:background="@color/colorPrimaryDark"
app:contentInsetStart="0dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark">
<ImageView
android:id="@+id/admin_toolbar_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_centerVertical="true"
android:padding="10dp"
android:src="@drawable/ic_drawer_icon" />
<ImageView
android:id="@+id/adminhome_cust_titleimage"
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
<ImageView
android:id="@+id/profile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_alignParentRight="true"
android:layout_centerHorizontal="true"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
</RelativeLayout>
</android.support.v7.widget.Toolbar>