toolbar
和与actionbar
类似的组件,但前者更灵活。使用方法如下:
首先设置主题为no actionbar
在布局文件中加入以下代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <android.support.design.widget.AppBarLayout android:id="@+id/appBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
|
通过以上代码即可加入toolbar
组件。
1 2 3 4 5 6
| Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); ActionBar actionBar = getSupportActionBar(); if(actionBar != null) {//toolbar显示返回键 actionBar.setDisplayHomeAsUpEnabled(true); }
|
编写菜单资源文件
与actionbar
一样
加载菜单资源文件
1 2 3 4 5 6 7
| public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); MenuItem menuItem = menu.findItem(R.id.setting); menuItem.setVisible(false); return super.onCreateOptionsMenu(menu); }
|
菜单按钮事件响应
1 2 3 4 5 6 7 8 9 10 11
| @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; case R.id.help: return true; } return super.onOptionsItemSelected(item); }
|
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com