zoukankan      html  css  js  c++  java
  • 安卓基础(Navigation)

    今天学习了简单的Navigation:页面导航。

    页面导航的简单例子:

     MainAcitivity:

    package com.example.navigation;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import androidx.navigation.NavController;
    import androidx.navigation.Navigation;
    import androidx.navigation.ui.NavigationUI;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            NavController navController = Navigation.findNavController(this,R.id.fragment);
            NavigationUI.setupActionBarWithNavController(this,navController);
        }
    
        @Override
        public boolean onSupportNavigateUp() {
            NavController navController = Navigation.findNavController(this,R.id.fragment);
            return navController.navigateUp();
        }
    }

    Home_Fragment:

    package com.example.navigation;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    import androidx.navigation.NavAction;
    import androidx.navigation.NavController;
    import androidx.navigation.Navigation;
    
    
    /**
     * A simple {@link Fragment} subclass.
     */
    public class Home_Fragment extends Fragment {
    
        public Home_Fragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.fragment_home_, container, false);
        }
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
            Button button = getView().findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    NavController navController = Navigation.findNavController(v);
                    navController.navigate(R.id.action_home_Fragment_to_detail_Fragment);
                }
            });
        }
    }

    Detail_Fragment:

    package com.example.navigation;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    
    import androidx.navigation.NavController;
    import androidx.navigation.Navigation;
    
    
    /**
     * A simple {@link Fragment} subclass.
     */
    public class Detail_Fragment extends Fragment {
    
        public Detail_Fragment() {
            // Required empty public constructor
        }
    
    
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            // Inflate the layout for this fragment
            return inflater.inflate(R.layout.fragment_detail_, container, false);
        }
    
        @Override
        public void onActivityCreated(@Nullable Bundle savedInstanceState) {
            super.onActivityCreated(savedInstanceState);
    //        Button button = getView().findViewById(R.id.button2);
    //        button.setOnClickListener(new View.OnClickListener() {
    //            @Override
    //            public void onClick(View v) {
    //                NavController navController = Navigation.findNavController(v);
    //                navController.navigate(R.id.action_detail_Fragment_to_home_Fragment);
    //            }
    //        });
            getView().findViewById(R.id.button2).setOnClickListener(Navigation.createNavigateOnClickListener(R.id.action_detail_Fragment_to_home_Fragment));//上方注释的整体写法,功能一样
        }
    }

    home_detail截图:

     这个项目就是简单的跳转,

    点击HOME按钮跳转到Detail

    按DETAIL按钮或者左上方的返回箭头均可返回到HOME页面

  • 相关阅读:
    性能测试十三:linux常用命令
    性能测试十二:jmeter进阶之java请求参数化
    性能测试十一:jmeter进阶之java请求
    性能测试十:jmeter进阶之webService与socket
    性能测试九:jmeter进阶之beanshell的使用+断言
    初识贝叶斯网络
    初识贝叶斯网络
    再学贝叶斯网络--TAN树型朴素贝叶斯算法
    再学贝叶斯网络--TAN树型朴素贝叶斯算法
    再学贝叶斯网络--TAN树型朴素贝叶斯算法
  • 原文地址:https://www.cnblogs.com/yangxionghao/p/12308425.html
Copyright © 2011-2022 走看看