当前位置: 首页 > news >正文

网站域名要多少钱注册公司在哪个网站

网站域名要多少钱,注册公司在哪个网站,建筑网站视频大全,网站运维托管Navigation的主要元素#xff1a; 1、Navigation Graph#xff1a; 一种新的XML资源文件,包含应用程序所有的页面#xff0c;以及页面间的关系。 ?xml version1.0 encodingutf-8? navigation xmlns:androidhttp://schemas.a…Navigation的主要元素 1、Navigation Graph 一种新的XML资源文件,包含应用程序所有的页面以及页面间的关系。 ?xml version1.0 encodingutf-8? navigation xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:idid/my_nav_graphapp:startDestinationid/homeFragmentfragmentandroid:idid/homeFragmentandroid:namecom.example.navigation.HomeFragmentandroid:labelfragment_hometools:layoutlayout/fragment_home actionandroid:idid/action_homeFragment_to_detailFragmentapp:destinationid/detailFragment //fragmentfragmentandroid:idid/detailFragmentandroid:namecom.example.navigation.DetailFragmentandroid:labelfragment_detailtools:layoutlayout/fragment_detail actionandroid:idid/action_detailFragment_to_homeFragmentapp:destinationid/homeFragment //fragment /navigation2、NavHostFragment 一个特殊的Fragment可以将它看作是其他Fragment的容器Navigation Graph中的Fragment正是通过NavHostFragment进行展示的。 ?xml version1.0 encodingutf-8? androidx.constraintlayout.widget.ConstraintLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.MainActivityandroidx.fragment.app.FragmentContainerViewandroid:idid/fragmentContainerViewandroid:nameandroidx.navigation.fragment.NavHostFragmentandroid:layout_width409dpandroid:layout_height729dpapp:defaultNavHosttrueapp:layout_constraintBottom_toBottomOfparentapp:layout_constraintEnd_toEndOfparentapp:layout_constraintStart_toStartOfparentapp:layout_constraintTop_toTopOfparentapp:navGraphnavigation/my_nav_graph / /androidx.constraintlayout.widget.ConstraintLayout3、NavController 用于在代码中完成Navigation Graph中具体的页面切换工作。 MainActivity.java public class MainActivity extends AppCompatActivity {NavController navController;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// 这样写会报错// NavController navController Navigation.findNavController(this, R.id.fragmentContainerView);// 需要先通过id获取到对应的NavHostFragment容器NavHostFragment navHostFragment (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.fragmentContainerView);if (navHostFragment ! null) {// 如果不为空再获取到的容器对应的NavControllernavController navHostFragment.getNavController();} else {throw new RuntimeException(NavHostFragment not found);}// 该代码的主要目的是将 ActionBar或 Toolbar与 NavController 关联起来以便在使用 Android 导航组件时ActionBar 可以自动更新其显示内容NavigationUI.setupActionBarWithNavController(this, navController);}Overridepublic boolean onSupportNavigateUp() {// header上返回按键好用return navController.navigateUp();} } HomeFragment.java Overridepublic void onActivityCreated(Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Button button getView().findViewById(R.id.button);button.setOnClickListener(view - {// 由于最外层设置了NavController所以这里可以通过容器中的view找到NavControllerNavController navController Navigation.findNavController(view);// 通过NavController进行导航确定目的地navController.navigate(R.id.action_homeFragment_to_detailFragment);});} DetailFragment.java Overridepublic void onActivityCreated(Nullable Bundle savedInstanceState) {super.onActivityCreated(savedInstanceState);Button button getView().findViewById(R.id.button2);button.setOnClickListener((v)-{// 由于最外层设置了NavController所以这里可以通过容器中的view找到NavControllerNavController navController Navigation.findNavController(v);// 通过NavController进行导航确定目的地navController.navigate(R.id.action_detailFragment_to_homeFragment);});}三者之间的关系 当你想切换Fragment时使用NavController对象,告诉它你想要去Nlavigation Graph中的哪个FragmentNavController会将你想去的Fragment展示NavHostFragment中 实现顺序 1.创建Fragment 2.创建navgation_graph指定fragment切换逻辑 3.在Activity的页面中添加navHostFragmrnt容器进行界面显示 4.在Activity中通过navHostFragmrnt获取到navController并设置bar和fragment的对应关系以及bar上返回按键生效 5.在需要触发fragment切换的位置通过获取navController进行导航设置对应的action确认触发后目的地 添加页面切换动画 页面之间参数传递 方法一直接传递bundle对象接收数据时需要知道对应key值以及value类型并且需要判空 Bundle bundle new Bundle();bundle.putString(user_name, Jay);NavController navController Navigation.findNavController(view);navController.navigate(R.id.action_homeFragment_to_detailFragment, bundle);接收bundle对象 Bundle arguments getArguments();String userName null;if (arguments ! null) {userName arguments.getString(user_name);Log.d(userName, userName);}方法二引入arg插件 dependencies {// 添加 safe-arg 插件依赖classpath(androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0)}plugins {id androidx.navigation.safeargs}Bundle bundle new HomeFragmentArgs.Builder().setUserName(Jay).setAge(20).build().toBundle();HomeFragmentArgs args HomeFragmentArgs.fromBundle(getArguments());String username args.getUserName();int age args.getAge();Log.d(Test, userName userName age  age);NavigationUI的使用场景 Fragment切换时设计到AppBar上的内容显示为了方便统一管理引入NavigationUI public class MainActivity extends AppCompatActivity {private NavController navController;private AppBarConfiguration appBarConfiguration;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);NavHostFragment navHostFragment (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.fragmentContainerView);if (navHostFragment ! null) {navController navHostFragment.getNavController();}appBarConfiguration new AppBarConfiguration.Builder(navController.getGraph()).build();// 将Appbar与Navigation建立联系NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);}Overridepublic boolean onCreateOptionsMenu(Menu menu) {super.onCreateOptionsMenu(menu);getMenuInflater().inflate(R.menu.menu_settings, menu);return true;}// 响应Meun的点击事件Overridepublic boolean onOptionsItemSelected(NonNull MenuItem item) {return NavigationUI.onNavDestinationSelected(item, navController) || super.onOptionsItemSelected(item);}// 响应AppBar的返回按键Overridepublic boolean onSupportNavigateUp() {return NavigationUI.navigateUp(navController, appBarConfiguration) || super.onSupportNavigateUp();} }跳转后的假面不显示meun public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {setHasOptionsMenu(true);return inflater.inflate(R.layout.fragment_setting, container, false);}Overridepublic void onCreateOptionsMenu(NonNull Menu menu, NonNull MenuInflater inflater) {menu.clear();super.onCreateOptionsMenu(menu, inflater);}监听页面切换完成的回调 // 监听界面切换完成navController.addOnDestinationChangedListener(new NavController.OnDestinationChangedListener() {Overridepublic void onDestinationChanged(NonNull NavController navController, NonNull NavDestination navDestination, Nullable Bundle bundle) {Log.d(test,onDestinationChanged);}});深层链接DeepLink之PendingIntent private void sendNotifycation() {if (Build.VERSION.SDK_INT Build.VERSION_CODES.O) {NotificationChannel myChannel new NotificationChannel(getActivity().getPackageName(), MyChannel, NotificationManager.IMPORTANCE_DEFAULT);myChannel.setDescription(My NotificationChannel);NotificationManager notificationManager getActivity().getSystemService(NotificationManager.class);notificationManager.createNotificationChannel(myChannel);}NotificationCompat.Builder builder new NotificationCompat.Builder(getActivity(), getActivity().getPackageName()).setSmallIcon(R.drawable.ic_launcher_background).setContentTitle(Deep Link).setContentText(点我).setPriority(NotificationManager.IMPORTANCE_DEFAULT).setContentIntent(getPendingIntent());// 发送通知NotificationManagerCompat notificationManager NotificationManagerCompat.from(getActivity());if (ActivityCompat.checkSelfPermission(getActivity(), android.Manifest.permission.POST_NOTIFICATIONS) ! PackageManager.PERMISSION_GRANTED) {// TODO: Consider calling// ActivityCompat#requestPermissions// here to request the missing permissions, and then overriding// public void onRequestPermissionsResult(int requestCode, String[] permissions,// int[] grantResults)// to handle the case where the user grants the permission. See the documentation// for ActivityCompat#requestPermissions for more details.return;}notificationManager.notify(notifyId, builder.build());}private PendingIntent getPendingIntent() {Bundle bundle new Bundle();bundle.putString(name,Jay);return Navigation.findNavController(getActivity(),R.id.button).createDeepLink().setGraph(R.navigation.my_nav_graph).setDestination(R.id.detailFragment).setArguments(bundle).createPendingIntent();}深层链接DeepLink之Url
http://www.hkea.cn/news/14276198/

相关文章:

  • asp网站设为首页代码创意网站建设排行榜
  • 网站虚拟机可以自己做吗大连城乡住房建设厅网站
  • 有专门下载地图做方案的网站吗wordpress归档侧边栏按分类
  • 京东网上购物商城官方网站遵义花果园网站建设
  • 企业网站硬件方面建设门户网站包括哪些
  • 国外网站备案吗健康云下载app
  • 网站建设笔记网站设计计划书的要求
  • 怎么做网站网站不被发现网站备案号找回密码
  • wordpress-seo做网站 seo
  • 限时抢购网站源码seo专员的工作内容
  • 在手机上做网站建设一个网络平台要多少钱
  • 番禺网站建设制作苏州公司排名
  • 做情侣网站wordpress分页功能
  • 素质课网站设计与建设济南网站推广
  • 设计手机商城网站建设品牌建设网
  • 微信网站小游戏漳州做网站匹配博大钱少a
  • phpcms v9网站性能优化软装设计公司名字
  • 租用服务器建设网站费用小红书网站开发费用
  • 网站建设所需要的技能商旅通官网app
  • 衡阳市建设局网站html网站建设基本流程图
  • 媒体网站推广方法品质好的客户管理系统
  • 国贸行业的网站建设怎么做捐款网站
  • 怎么申请 免费网站上海百度推广开户
  • 苏州有做网站的公司吗政务公开网站开发
  • 主流网站建设服务器有哪些手机网站比例尺寸
  • .加强网站安全建设网站该如何做
  • 做商业网站没有注册公司用discuz做的手机网站
  • 企业摄影网站模板设计师网站源码
  • 佛山做pc端网站wap和网页的区别
  • 网站设计需要哪些什么是响应式的网站