ToolBar工具条的简单使用

菜单选项之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)
    xmlns:app="http://schemas.android.com/apk/res-auto">
            android:title="添加"
        app:showAsAction="ifRoom"/>

            android:title="删除"
        app:showAsAction="ifRoom|withText"/>

            android:title="修改"
        app:showAsAction="never"
        android:orderInCategory="100"/>

            android:title="查找"
        android:icon="@drawable/ic_action_search"
        app:showAsAction="always"
        android:orderInCategory="100"/>


还应该在mainifest.xml 文件中修改theme主题
    只有屏蔽掉ActionBar才能使用Toolbar
  

ToolBar工具条的简单使用_第1张图片 ToolBar工具条的简单使用_第2张图片

你可能感兴趣的:(ToolBar工具条的简单使用)