具有onOption菜单项的自定义组件工具栏片段 [英] custom component toolbar fragment with onOptionmenu items

查看:63
本文介绍了具有onOption菜单项的自定义组件工具栏片段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我被困在一个简单的问题上,我知道我在做一些小错误,我的问题是当我在MainActivity中使用set Toolbar时,以及当我一次尝试在片段中添加optionMenu时,我的ToolBar的子组件(RelativeLayout在我的情况)大小已更改..

I am stuck simple issue and i know i am doing something minor wrong , My issue is when i am using set Toolbar in MainActivity and after when i am trying to add optionMenu in fragment at a time my toolBar's child component(RelativeLayout in my case) size changed..

这是我的代码:

<?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设置在适当的工具中心.

How can i set my imageView in proper center of toolas you can see in first image..

推荐答案

尝试一下

        <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,您的代码即可使用.

But anyway if you will add more menu elements your icon will be centered from end of home button and start of menu. Also you can remove setHasOptionsMenu and add one more ImageView in your RelativeLayout and your code will works.

这篇关于具有onOption菜单项的自定义组件工具栏片段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆