要引进toolbar,首先要去掉原来的ActionBar
<stylename="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
然后就是写这个控件啦
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:id="@+id/toolbar"></android.support.v7.widget.Toolbar>
然后再activity里申明这个控件就是俺们的菜单栏
toolbar.setLogo(R.mipmap.ic_launcher);
toolbar.setTitle("Main Tittle");
setSupportActionBar(toolbar);
我们还可以写几个按钮,除了用button,还可以在res下新建一个menu文件,写一个toolbar.xml
<item android:id="@+id/search"
android:orderInCategory="80"
android:title="search"
app:showAsAction="ifRoom"
app:actionViewClass="android.support.v7.widget.S earchView"/>
<item android:id="@+id/share"
android:orderInCategory="90"
android:title="share"
app:showAsAction="ifRoom"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
<item android:id="@+id/settings"
android:orderInCategory="100"
android:title="settings"
app:showAsAction="ifRoom" />
orderInCategory是优先级的属性,值越大优先级越小,actionViewClass和actionProviderClass的作用都是引进系统自带的图片
最后,把两个布局串起来吧
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar,menu);
return true;
}
可以设置返回键
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case android.R.id.home:
Toast.makeText(MainActivity.this,"按下此键会返回",Toast.LENGTH_SHORT).show();
}
return true;
}