博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DrawerLayout
阅读量:5882 次
发布时间:2019-06-19

本文共 3192 字,大约阅读时间需要 10 分钟。

  hot3.png

public class MainActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener,OnFragmentInteractionListener{    public NavigationView navView;    public DrawerLayout drawerLayout;    private Toolbar toolbar;    private ActionBarDrawerToggle toggle;    // 矢量图兼容支持    static {        AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);    }    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        toolbar = (Toolbar) findViewById(R.id.toolbar);        setSupportActionBar(toolbar);        navView = (NavigationView) findViewById( R.id.nav_view );        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);        toggle = new ActionBarDrawerToggle(                this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);        toggle.syncState();        drawerLayout.addDrawerListener(toggle);        getSupportFragmentManager().registerFragmentLifecycleCallbacks(new FragmentManager.FragmentLifecycleCallbacks() {            @Override            public void onFragmentResumed(FragmentManager fm, Fragment f) {                super.onFragmentResumed(fm, f);                if(f instanceof MineFragment) {                    getSupportActionBar().setTitle("我的");                }else if(f instanceof GetHelpFragment){                    getSupportActionBar().setTitle("提供帮助");                }else if(f instanceof HelpFragment) {                    getSupportActionBar().setTitle("帮助");                }else if(f instanceof SettingFragment) {                    getSupportActionBar().setTitle("设置");                }            }        }, false);        //ActionBar的返回按钮监听        toggle.setToolbarNavigationClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                getSupportFragmentManager().popBackStack();            }        });        navView.setNavigationItemSelectedListener( this );        initFragment();    }    private void initFragment() {        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();        ft.replace( R.id.content, new MineFragment());        ft.commit();    }    @Override    public boolean onNavigationItemSelected(@NonNull MenuItem item) {        switch (item.getItemId()){            case R.id.nav_mine://我的                switchTo(new MineFragment());                break;            case R.id.nav_get_help://获得帮助                switchTo(new GetHelpFragment());                break;            case R.id.nav_help://提供帮助                switchTo(new HelpFragment());                break;            case R.id.nav_setting://设置                switchTo(new SettingFragment());                break;        }        return true;    }    private void switchTo(Fragment fragment) {        FragmentTransaction ft = getSupportFragmentManager().beginTransaction();        ft.replace( R.id.content, fragment);        ft.commit();        drawerLayout.closeDrawers();    }    @Override    public void onFragmentInteraction(Uri uri) {    }}

 

转载于:https://my.oschina.net/wfy94/blog/3002403

你可能感兴趣的文章
云im php,网易云IM
查看>>
河南农业大学c语言平时作业答案,河南农业大学2004-2005学年第二学期《C语言程序设计》期末考试试卷(2份,有答案)...
查看>>
c语言打开alist文件,C语言 文件的打开与关闭详解及示例代码
查看>>
c语言 中的共用体和结构体如何联合定义,结构体(Struct)、联合体(Union)和位域
查看>>
SDL如何嵌入到QT中?!
查看>>
P1026 统计单词个数
查看>>
[js高手之路] html5 canvas系列教程 - 状态详解(save与restore)
查看>>
poi excel 常用api
查看>>
AD提高动态的方法(附SNR计算)
查看>>
[转]轻松实现可伸缩性,容错性,和负载平衡的大规模多人在线系统
查看>>
五 数组
查看>>
也谈跨域数据交互解决方案
查看>>
EntityFramework中使用Include可能带来的问题
查看>>
面试题28:字符串的排列
查看>>
css important
查看>>
WPF 实现窗体拖动
查看>>
来自维基百科程序员Brandon Harris
查看>>
NULL不是数值
查看>>
CentOS 5 全功能WWW服务器搭建全教程
查看>>
scala111
查看>>