安卓基础(Navigation)
2024-09-06 13:59:35
今天学习了简单的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页面
最新文章
- Generics and Collection (2)
- java 多线程(wait/notify/notifyall)
- CSS裁剪clip
- Construct Binary Tree from Preorder and Inorder Traversal
- 取消GridView/ListView item被点击时的效果 记录学习
- mvn添加本地jar
- Python数据分析之pandas学习
- 便捷的php操作mysql库MysqliDb
- javascript:void(0)与#整理
- 小数点输出精度控制问题 .xml
- JAVA 读取pdf文件
- PHP PDO sqlite ,Unable to Open database file的解决方法
- JAVA中浅复制与深复制 - coolmist - ITeye技术网站
- 【Java基础 】Java7 NIO Files,Path 操作文件
- Qt--自定义View
- 20155205 郝博雅 Exp5 MSF基础应用
- 003.DNS主从正反解析部署
- tensorflow学习笔记————分类MNIST数据集
- 解决IE兼容模式的方案
- java中原子操作的实现分析
热门文章
- AcWing 1017. 怪盗基德的滑翔翼
- Codeforces Round #600 (Div. 2) 	C - Sweets Eating
- Django 初试水(一)
- TNS-12545: Connect failed because target host or object does not exist
- 五、抗DDOS防火墙
- IText异常 NoClassDefFoundError: org/bouncycastle/asn1/ASN1Encodable
- python 数组array的一些操作
- C#源码转PlantUml
- Python_包
- MongoDB - String转换为Int,并更新到数据库中