我有一个带有菜单项溢出菜单图标的工具栏。我需要将溢出图标更改为圆形图像视图。
<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提到使用drawable。但我需要使用imageview。我试过下面的
@Override
public boolean onOptionsItemSelected(MenuItem item) {
item.setActionView(mciv);
return super.onOptionsItemSelected(item);
}
但它不起作用。如何使用imageview更改溢出菜单图标?
答案 0 :(得分:0)
您可以设置imageview的点击事件,然后点击打开菜单。
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openOptionsMenu();
}
});
或者您可以手动创建弹出菜单here is the example for popup menu