1.先看一下效果

2.自定义的view,action_view_auto_like.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <ImageButton android:id="@+id/action_auto_like_button" android:layout_width="70dp" android:layout_height="30dp" android:scaleType="centerInside" android:background="@android:color/transparent" android:src="@drawable/btn_nav_autoliker"> </ImageButton> </FrameLayout>
|
1 2 3 4 5 6 7 8 9 10 11 12
| <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tinder="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_auto" android:actionLayout="@layout/action_view_auto_like" android:icon="@drawable/btn_nav_autoliker" android:orderInCategory="1" android:title="@string/action_auto_like" tinder:actionLayout="@layout/action_view_auto_like" tinder:showAsAction="always"/> </menu>
|
4.在fragment 中配置
现在onCreateView
中加上setHasOptionsMenu(true);
,让系统在fragment中初始化menu。
1 2 3 4 5 6 7 8 9 10
| @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { inflater.inflate(R.menu.menu_tinder_like, menu); MenuItem searchItem = menu.findItem(R.id.action_auto); FrameLayout layout = (FrameLayout) MenuItemCompat .getActionView(searchItem); layout.findViewById(R.id.action_auto_like_button) .setOnClickListener(this); super.onCreateOptionsMenu(menu, inflater); }
|
然后在onClick
中加入你的逻辑。