Navigation(1)

本文详细介绍在Android应用中如何使用Navigation组件进行页面跳转,包括两种设置监听的方法:通过匿名内部类和NavigationUI工具类。同时,展示了如何在MainActivity中设置返回按钮,实现导航回退功能。

简单的切换
容器

  • 容器
    碎片
  • 碎片
    导航控制
  • 导航控制
    导航图
  • 导航图形化

创建nav
创建碎片
创建xml
太赞了图形化

设置监听 方法一

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Button button;
        button = getView().findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                NavController controller = Navigation.findNavController(v);
                controller.navigate(R.id.action_homeFragment2_to_detailFragment2);
            }
        });

    }

设置监听 方法二

@Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        getView().findViewById(R.id.button2).
                setOnClickListener(Navigation.createNavigateOnClickListener(R.id.action_detailFragment2_to_homeFragment2));
    }

设置返回按钮

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        NavController controller = Navigation.findNavController(this,R.id.fragment);
        NavigationUI.setupActionBarWithNavController(this,controller);
    }

    @Override
    public boolean onSupportNavigateUp() {
        NavController controller = Navigation.findNavController(this,R.id.fragment);
        return controller.navigateUp();
        //return super.onSupportNavigateUp();
    }
}
### 关于 Navigation1 的技术文档与解决方案 目前提到的 `Navigation` 可能涉及多个不同的上下文和技术栈,例如前端框架中的路由管理(Vue、React)、移动应用开发中的导航组件,或者是机器人领域的路径规划工具。以下是针对不同场景下的可能解释和资源推荐: #### 前端开发中的 Navigation 如果问题是关于前端开发中的导航库或框架,则可以从以下角度分析: - **Vue 底部导航插件**: 如果您指的是 Vue 中的底部导航实现,可以参考项目 `vue-bottom-navigation`[^1]。该项目提供了灵活的 API 和样式选项来构建移动端友好的界面。 示例代码如下展示如何快速引入并使用该组件: ```javascript import BottomNavigation from 'vue-bottom-navigation'; export default { components: { BottomNavigation }, data() { return { items: [ { title: 'Home', icon: 'home' }, { title: 'Search', icon: 'search' } ] }; } }; ``` - **从 Router 到 Navigation 的迁移建议**: 对于正在考虑升级现有项目的团队来说,及时迁移到更现代化的导航体系非常重要[^2]。像美团这样的大型企业已经在其产品线中全面采用新的导航架构。 #### 移动端 React Native 开发中的 Navigation 如果是讨论 React Native 生态内的导航方案,则需关注官方推荐的 `React Navigation Stack` 工具集[^4]: - 它具备良好的用户体验设计原则,能够模仿 iOS 和 Android 平台上的原生行为模式; - 提供丰富的扩展接口用于调整视觉风格及动态效果; 具体初始化流程如下所示: ```javascript import * as React from 'react'; import { createStackNavigator } from '@react-navigation/stack'; const Stack = createStackNavigator(); function MyStack() { return ( <Stack.Navigator> {/* Screens go here */} </Stack.Navigator> ); } ``` #### 自主导航系统 (Robotics Context) 最后一种可能性指向自主驾驶车辆或者服务型机器人的运动控制逻辑,在这方面 Mesh Navigation 成为了热门话题之一[^5]. 此方法特别适合应对非结构化场地挑战,并且具有以下几个显著优势: - 支持多种传感器输入融合从而提升定位精度; - 能够自动规避不可通行区域同时寻找最优路线; 总结而言, 根据您的确切需求选择合适的资料至关重要.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值