android - 自定义 NavHostFragment 用 viewgoup 替换 framelayout
问题描述
FrameLayout
布局中有一些视图和一个视图。我想自定义NavHostFragment
替换FrameLayout
为RelativeLayout
,它可以工作,但视图层次结构是错误的。ImageView 应该在顶部,但它在底部。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@id/lb_nav_host_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/logo" />
</RelativeLayout>
和我的习惯NavHostFragment
:
public abstract class BaseModuleFragment extends NavHostFragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = null;
if (getContentViewId() > 0) {
view = inflater.inflate(getContentViewId(), container, false);
View frameLayout = view.findViewById(R.id.lb_nav_host_container);
if (!(frameLayout instanceof FrameLayout)) {
throw new RuntimeException("frame layout must exist");
}
frameLayout.setId(getId());
} else {
view = super.onCreateView(inflater, container, savedInstanceState);
}
return view;
}
}
方法不对,或者如何解决?
解决方案
这些图片显示:
推荐阅读
- javascript - 如何在不同的类中关闭 swipeabledrawer
- javascript - Javascript - 有条件地访问对象的特定部分
- android-studio - 无法运行颤振项目
- angular - 离子 - 未捕获(承诺):TypeError:无法读取未定义的属性'then'
- java - 如何在 JavaFX 中生成 UI 元素?例如。生成 10 个按钮
- python-3.x - 模拟方法的返回值不起作用
- r - 是否有任何代码可以在 ROC 中为使用 R 的 maxent 添加标准错误行?
- javascript - Javascript 闭包 - 计数调用
- python - 使用 SAM 在本地运行 Golang 函数时出现“找不到路由的 Lambda 函数”错误?
- python - 如何修改 python 脚本,使其从命令行获取参数