android - 我可以在一个 NavHostFragment 中启动两个片段吗?
问题描述
我有一个片段屏幕,其中包含两个部分 1)图像卡和 2)带有视图寻呼机的选项卡布局,它们被分成两个 XML 文件和两个片段生命周期 java 文件。此外,我的活动中有一个 NAV 主机片段和一个 NAV 图表。我能否在 NAV 主机片段中同时启动两个 XML,以便我可以垂直显示两个 XML(第 1)和第 2)部分。
备注:我没有空间添加/创建 XML/NAVHostFragment 以包含两个 XML。Java中的任何东西都对我有用。
任何人都对在这种情况下如何做到这一点有任何见解?
这是我开始的:
活动.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_scrollFlags="scroll">
<fragment
android:id="@+id/navhostfragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/navgraph" />
</LinearLayout>
图像卡.xml
<androidx.cardview.widget.CardView
android:id="@+id/cardview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</androidx.cardview.widget.CardView>
viewpager.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.google.android.material.tabs.TabLayout>
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewpager2"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
解决方案
一个可能的解决方案是:
MainFragment
使用 viewpager创建一个片段。- 将该片段设置为导航图中的起始目的地。
- 在s viewpager中加载
cardimage
和tabLayout
MainFragment
- 通过调用将主 Viewpager 的方向设置为垂直
setOrientation()
推荐阅读
- mongodb - Mongo docker image - 无法在不同的端口上运行
- tableau-api - 在 Tableau 中根据字符串对条目进行分类和过滤
- javascript - 如何使用选择标签有条件地渲染三个组件之一?
- sql - 在 SQL Server 中将多个列与相同条件进行比较的速记?
- android - Android 固定 RTL 和 LTR 方向
- mysql - 错误地选择十进制值
- sql - 从相同的数据中获取查询结果,但使用临时变量
- java - (JDK 11) 通过依赖于库的反射运行 JAR 存档
- node.js - 您是否尝试过嵌套模式?
- r - 如何识别函数是否在R中被递归调用