美文网首页
Navigation 实现页面跳转

Navigation 实现页面跳转

作者: GaoXiaoGao | 来源:发表于2021-01-07 09:14 被阅读0次

Navigation 结合Fragment使用

首先创建Navigation的资源文件,即绘制跳转路径的文件,创建方法如下:


创建Navigation资源文件.png 创建navgation.png

需要添加依赖库

navgation_hint.png

为两个Fragment添加跳转逻辑并在Activity中添加NavgationHost

为页面添加跳转逻辑.png

给首页页面按钮添加点击事件

btn.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {

                NavController controller = Navigation.findNavController(v);
                //跳转到详情面页
                controller.navigate(R.id.action_homeFragment3_to_detailFragment3);
            }
        });

给详情页面按钮添加点击事件

Button btn = getView().findViewById(R.id.button);
//跳转到首页
btn.setOnClickListener(
Navigation.createNavigateOnClickListener(R.id.action_detailFragment3_to_homeFragment3)
);

在Activity中设置ActionBar使用Navigation导航返回上一层

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //fragment2为activity_main中NavHostFragment的id
        NavController navController = Navigation.findNavController(this,R.id.fragment2);
        //设置ActionBar使用Navigation导航
        NavigationUI.setupActionBarWithNavController(this, navController);
    }

    @Override
    public boolean onSupportNavigateUp() {

        NavController navController = Navigation.findNavController(this,R.id.fragment2);
        return navController.navigateUp(); //返回上一层
         //return super.onSupportNavigateUp();
    }

https://github.com/LongLongLongLongLongLongLongLongLong/NavigationDemo1.git

相关文章

网友评论

      本文标题:Navigation 实现页面跳转

      本文链接:https://www.haomeiwen.com/subject/aofnoktx.html