菜单选项之ToolBar
关键词:inflateMenu 解析布局文档 setOnMenuItemClickListener 设定菜单选项监听
navigationIcon 导航图标 setNavigationOnClickListener 监听导航选项
首先建立一个类
public class ToolBar_Activity extends AppCompatActivity {
Toolbar mToolbar;
View view;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tool_bar_layout);
view = findViewById(R.id.Menu_Relative);//// TODO: 2016/6/6 得到view的对向 在SnackBar里面使用
mToolbar = (Toolbar) findViewById(R.id.Menu_ToolBar);
mToolbar.inflateMenu(R.menu.my_option_menu);//todo 解析布局文档
// TODO 监听选项
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.my_option_add:
// Toast.makeText(ToolBar_Activity.this, "添加成功", Toast.LENGTH_SHORT).show();
Snackbar.make(view,"添加成功",Snackbar.LENGTH_SHORT).show();
break;
case R.id.my_option_delete:
Toast.makeText(ToolBar_Activity.this, "删除成功", Toast.LENGTH_SHORT).show();
break;
case R.id.my_option_edit:
Toast.makeText(ToolBar_Activity.this, "修改成功", Toast.LENGTH_SHORT).show();
break;
case R.id.my_option_check:
Toast.makeText(ToolBar_Activity.this, "查找到", Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
// TODO 监听导航选项
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(ToolBar_Activity.this, "返回", Toast.LENGTH_SHORT).show();
finish();
}
});
}
}
R.layout.activity_tool_bar_layout对应的xml文档,应主动去掉padding 的一切属性
android:id="@+id/Menu_Relative"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
android:id="@+id/Menu_ToolBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"//Toolbar本身就是ViewGroup 可以任意设定一切view 的属性
android:background="@color/green"
app:title="设置" //这些全是APP属性
app:titleTextColor="@color/blue"
app:logo="@drawable/dog1"
app:subtitle="java"
app:subtitleTextColor="@color/blue"
app:navigationIcon="@drawable/ic_action_back"
/>
R.menu.my_option_menu对应的menu资源属性,menu资源应设定在res下
showAsAction 对应值为always 总是ToolBar显示
never 永不在ToolBar中显示
ifRoom 有空间就显示
withText 显示Title的text ,可以和其他值一起使用(ifRoom|withText)
collapseActionView actionview是可伸缩的API(14)
还应该在mainifest.xml 文件中修改theme主题
只有屏蔽掉ActionBar才能使用Toolbar