從ActionBar切換到toolBar

Android5.0以前老版本都是用的ActionBar進行菜單操作的,隨着版本的變更ActionBar暴露出種種弊端,隨後google官方發佈了替代ActionBar的獨立控件toolBar,ActionBar已經廢棄了,所以如果不是特殊需要,請使用toolBar控件。

toolbar有兩種使用方式:

1,作爲actionBar的綁定:

使用方法與actionBar相同。使用步驟參考:http://blog.csdn.net/aigestudio/article/details/47090167。此種方法有個弊端,當在fragment中使用時,要重寫booleanonCreateOptionsMenu(Menu menu)和booleanonOptionsItemSelected(MenuItem item)方法。

2,作爲獨立控件使用:

只需要在activity的onCreate中或者fragment的onCreateView中添加如下集中的代碼:

Toolbar toolbar = (Toolbar)mViewRoot.findViewById(R.id.my_toolbar);

// 設置導航按鈕
toolbar.setNavigationIcon(R.drawable.message_unselected);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(getActivity(), "導航", Toast.LENGTH_SHORT).show();
    }
});
// 設置Logo圖標
toolbar.setLogo(R.mipmap.ic_launcher);


// 設置菜單及其點擊監聽
toolbar.inflateMenu(R.menu.main_menu);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem item) {
        String result = "";
        switch (item.getItemId()) {
            case R.id.button1:
                result = "1111";
                break;
            case R.id.button2:
                result = "2222";
                break;
            case R.id.button3:
                result = "3333";
                break;
        }
        Toast.makeText(getContext(), result, Toast.LENGTH_SHORT).show();
        return true;
    }
});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章