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 的一切属性
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   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.support.v7.widget.Toolbar  //必须使用v7.widget兼容包,否则Toolbar只支持5.0以后的版本
        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"

         />

</RelativeLayout>

    R.menu.my_option_menu对应的menu资源属性,menu资源应设定在res下
        showAsAction 对应值为always      总是ToolBar显示
                            never          永不在ToolBar中显示
                            ifRoom         有空间就显示
                            withText    显示Title的text ,可以和其他值一起使用(ifRoom|withText)
                            collapseActionView     actionview是可伸缩的API(14)
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/my_option_add"
        android:title="添加"
        app:showAsAction="ifRoom"/>

    <item android:id="@+id/my_option_delete"
        android:title="删除"
        app:showAsAction="ifRoom|withText"/>

    <item android:id="@+id/my_option_edit"
        android:title="修改"
        app:showAsAction="never"
        android:orderInCategory="100"/>

    <item android:id="@+id/my_option_check"
        android:title="查找"
        android:icon="@drawable/ic_action_search"
        app:showAsAction="always"
        android:orderInCategory="100"/>

</menu>
还应该在mainifest.xml 文件中修改theme主题
    只有屏蔽掉ActionBar才能使用Toolbar
   <activity android:name=".Menu.ToolBar_Activity" android:theme="@style/Theme.AppCompat.Light.NoActionBar"/>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值