Android ToolBar 解析与应用(二)点击监听
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>
完成。。。
浙公网安备 33010602011771号