Toolbar的点击事件监听目前我只发现了三种,如果有朋友知道更多的可监听的事件,请告诉我,感激不敬!
如上图,我就按照上图的标示一个一个说吧。
第一个:1.setNavigationlcon的点击监听(左上角第一个)。
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {if (item.getItemId() == android.R.id.home) {Toast.makeText(MainActivity.this, "setNavigationlcon", Toast.LENGTH_SHORT).show();return true;}return super.onOptionsItemSelected(item);}
第二个:2.Login,3.Title,4.Subtitle这三个点击事件是一个,暂时没找到分开监听的方法。(如果谁知道,请告诉我。先谢了)
toolbar.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(MainActivity.this, "Logo", Toast.LENGTH_SHORT).show();showPopupWindow(v);}});
第三个:5.MenultemClickLinstener点击事件的监听与actionbar差不多。
让menu显示出来,然后创建Toolbar.OnMenuItemClickListener监听器 ,最后给toolbar设置setOnMenuItemClickListener();
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.menu_main, menu);return true;}
toolbar.setOnMenuItemClickListener(onMenuItemClick);
private Toolbar.OnMenuItemClickListener onMenuItemClick = new Toolbar.OnMenuItemClickListener() {@Overridepublic boolean onMenuItemClick(MenuItem menuItem) {String msg = "";switch (menuItem.getItemId()) {case R.id.action_settings:msg += "Click edit1";break;}if (!msg.equals("")) {Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();}return true;}};
下面是menu.xml文件
<menu 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"tools:context=".MainActivity"><item android:id="@+id/action_settings"android:title="@string/action_settings"android:icon="@android:drawable/arrow_up_float"android:orderInCategory="100"app:showAsAction="ifRoom" /><item android:id="@+id/action_settings2"android:title="@string/action_settings"android:icon="@android:drawable/alert_light_frame"android:orderInCategory="100"app:showAsAction="ifRoom" /></menu>
完成。。。
本文探讨了Android ToolBar的三种点击事件监听:1.setNavigationIcon点击;2.标题区域(Login, Title, Subtitle)合在一起的监听;3.MenuItem的监听,通过设置OnMenuItemClickListener实现。同时,作者邀请读者分享更多可能的监听方式。"
79268065,380781,Orange Pi One控制继电器实现智能开关,"['硬件开发', '物联网', '嵌入式开发', 'Linux开发', '串口通讯']
5398

被折叠的 条评论
为什么被折叠?



