android - 带有 onOptionmenu 项的自定义组件工具栏 fragment

标签 android android-relativelayout toolbar

我遇到了一个简单的问题,我知道我做错了一些小错误,我的问题是当我在 MainActivity 中使用 set Toolbar 时,当我试图一次在 fragment 中添加 optionMenu 时,我的工具栏的子组件(RelativeLayout in我的情况)尺寸改变了..

这是我的代码:

<?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>

fragment :

 @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 设置在工具的适当中心,如您在第一张图片中看到的那样。

最佳答案

试试这个

        <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 并在 RelativeLayout 中再添加一个 ImageView,这样您的代码就可以正常工作了。

关于android - 带有 onOptionmenu 项的自定义组件工具栏 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43735960/

相关文章:

Android 架构组件生命周期状态

Android 不同的屏幕尺寸和密度

java - android studio使用sql报错

android - 水平居中一组 View

visual-studio - Visual Studio 2008 - 工具栏缺少 'Release'/ 'Debug' 下拉构建配置

API 19 的 Android 工具栏? (API 21 工作正常)

Android:根据输入更改 View 的背景颜色?

android - 相对布局中的边距

java - relativeLayout 和 Canvas 服装 View

java - Android - SearchView 和溢出 MenuItem 图标颜色