Android:如何在 parent activity 及其 button/nav 视图上显示片段
Android: How to show a fragment over parent activity and its button/nav views
我有一个 main activity,它通过片段事务启动片段。我希望该片段 完全 填满屏幕,完全不显示 parent 的视图。但是,当我提交片段事务时,我仍然可以看到 parent activity 的底部导航视图及其按钮。我制作了一个小演示应用程序来展示我的意思:
主要 activity 有黄色背景。 "Testclick" 按钮使用以下代码启动片段事务。
这是交易的结果。片段的红色背景现在可见,但 bottomNavigationView 和按钮仍然可见(这是不需要的)。
片段交易
bttn.setOnClickListener {
supportFragmentManager
.beginTransaction()
.replace(R.id.contentview, Frag1())
.addToBackStack(null)
.commit()
}
主要Activity布局
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/contentview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/yellow"
tools:context=".MainActivity">
...
</androidx.constraintlayout.widget.ConstraintLayout>
您的 R.id.contentview 必须在按钮后面的背景中
啊其实你知道有什么好工具,在工具->布局检查器中叫做LayoutInspector,你可以在你的activity是运行时实际看到布局是如何设置的。在您的情况下,片段的布局被添加到 activity.
的布局中
抱歉一开始没看到id
我有一个 main activity,它通过片段事务启动片段。我希望该片段 完全 填满屏幕,完全不显示 parent 的视图。但是,当我提交片段事务时,我仍然可以看到 parent activity 的底部导航视图及其按钮。我制作了一个小演示应用程序来展示我的意思:
主要 activity 有黄色背景。 "Testclick" 按钮使用以下代码启动片段事务。
这是交易的结果。片段的红色背景现在可见,但 bottomNavigationView 和按钮仍然可见(这是不需要的)。
片段交易
bttn.setOnClickListener {
supportFragmentManager
.beginTransaction()
.replace(R.id.contentview, Frag1())
.addToBackStack(null)
.commit()
}
主要Activity布局
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/contentview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/yellow"
tools:context=".MainActivity">
...
</androidx.constraintlayout.widget.ConstraintLayout>
您的 R.id.contentview 必须在按钮后面的背景中
啊其实你知道有什么好工具,在工具->布局检查器中叫做LayoutInspector,你可以在你的activity是运行时实际看到布局是如何设置的。在您的情况下,片段的布局被添加到 activity.
的布局中抱歉一开始没看到id