【问题标题】:How to change overflow menu icon with imageview如何使用 imageview 更改溢出菜单图标
【发布时间】:2017-10-27 05:24:48
【问题描述】:

我有一个带有菜单项的溢出菜单图标的工具栏。我需要将溢出图标更改为圆形图像视图。

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="@color/white"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/profile_image"
        android:layout_width="38dp"
        android:layout_height="30dp"
        android:layout_gravity="right|end"
        app:srcCompat="@android:drawable/sym_def_app_icon"/>

</android.support.v7.widget.Toolbar>

代码看起来像。

   Toolbar toolbarTop = (Toolbar) findViewById(R.id.toolbar);
   CircleImageView mciv = (CircleImageView) findViewById(R.id.profile_image);
   setSupportActionBar(toolbarTop);

我曾尝试更改溢出图标,但大多数 SO 都提到了使用可绘制。但我需要使用图像视图。我已经尝试过以下

@Override
public boolean onOptionsItemSelected(MenuItem item) {
       item.setActionView(mciv);
       return super.onOptionsItemSelected(item);
}

但它不起作用。如何使用 imageview 更改溢出菜单图标?

【问题讨论】:

标签: android android-actionbar android-toolbar android-menu


【解决方案1】:

您可以设置imageview的点击事件和点击打开菜单。

imageView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        openOptionsMenu();
    }
});

或者您可以手动创建弹出菜单,here is the example for popup menu

【讨论】:

    猜你喜欢
    • 2023-03-05
    • 2014-03-29
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多