gpt4 book ai didi

android - 如何制作一个深度 fragment 以在屏幕上使用喷气背包导航和 BottomNavigationView 占据整个屏幕?

转载 作者:行者123 更新时间:2023-12-05 06:22:18 24 4
gpt4 key购买 nike

我在 https://github.com/android/architecture-components-samples/tree/master/NavigationAdvancedSample 研究了谷歌示例.它是这样工作的:

enter image description here

enter image description here

但我需要关于 fragment 来占据整个屏幕。最佳做法是什么?

我试过这个: activity?.supportFragmentManager?.beginTransaction()?.replace(R.id.root_activity,Detail())?.addToBackStack("About")?.commit()

得到这个:

enter image description here

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:id="@+id/root_activity"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android.navigationadvancedsample.MainActivity">

<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_container"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />

<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:menu="@menu/bottom_nav"/>

我可以设置activity?.findViewById<BottomNavigationView>(R.id.bottom_nav)?.visibility=View.GONEactivity?.findViewById<BottomNavigationView>(R.id.bottom_nav)?.visibility=View.INVISIBLE但是当它回来时,它看起来像这样,我认为这不是一个好方法: enter image description here

谢谢!!

最佳答案

您必须切换 BottomNavigationView 的可见性,如下所示:

NavController.OnDestinationChangedListener destinationChangedListener = new NavController.OnDestinationChangedListener() {
@Override
public void onDestinationChanged(@NonNull NavController controller, @NonNull NavDestination destination, @Nullable Bundle arguments) {
if(destination.getId() == R.id.navigation_notifications){
navView.setVisibility(View.GONE);
}else{
navView.setVisibility(View.VISIBLE);
}

}
};
navController.addOnDestinationChangedListener(destinationChangedListener);

关于android - 如何制作一个深度 fragment 以在屏幕上使用喷气背包导航和 BottomNavigationView 占据整个屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59334217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com