QQ最新版布局猜测

最近想实现相似QQ的布局,使用toolbar,tablayout,viewpager,drawerlayout等控件,碰到了一些问题。 java


  1. 底部按钮切换以后,每一个页面头部布局不同。使用toolbar的话,须要在每一个fragment中使用单独的toolbar。这样又出现一个新的问题,drawerlayout如何操做,drawerlayout须要与activity关联,而且在每一个fragment中应该只有一个实例。
  2. toolbar放在fragment中以后,每一个fragment menu不显示,由于fragment的menu依附于activity(就我我的理解)。
  3. 将toolbar放在activity中,能够保证drawer只有一个,可是这样得控制每一个页面的toolbar 的布局。
最近经过截取QQ的布局,它的头像是放在framelayout中,在activity中保持一样的位置,这样每一个页面打开我的资料都是同样的,也就是说activity不使用toolbar。每一个页面使用 独立 的toolbar(固然它并无使用这个控件)。可是drawerlayout须要用到toolbar,所以若是使用QQ的方式就不能用drawerlayout.

最后采起的是相似QQ的布局,去掉drawerlayout,使用其余侧滑菜单。 ide

每一个fragment须要使用toolbar来初始化menu。 布局

toolbar.inflateMenu(R.menu.menu_fragment_index);
        locationItem =  toolbar.getMenu().findItem(R.id.action_location).setTitle(App.CITY_NAME);



使用toolbar来设置点击事件 spa

toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                return false;
            }
        });



去掉fragment 的 onCreateOptionsMenu, onOptionsItemSelected重载,这种状况下,实现这两个方法并不能显示Menu,并且按手机的menu键menu会显示在底部。

附上QQ的界面: code

相关文章
相关标签/搜索