gpt4 book ai didi

android - 在我的第一个布局资源中包含第二个布局资源

转载 作者:搜寻专家 更新时间:2023-11-01 07:40:48 24 4
gpt4 key购买 nike

有没有办法将一种资源包含在另一种资源中(例如,多个 Activity 布局中的页眉设计)。我知道我可以在运行时添加它,它可以在 XML 中完成吗?

最佳答案

是的,您可以在 XML 中执行此操作。查看android docs关于合并/包含

基本上您将有 1 个布局 (root.xml),如下所示:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:id="@+id/headingLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<include
android:layout_width="wrap_content"
android:layout_height="wrap_content"
layout="@layout/heading_layout" />
</LinearLayout>
<RelativeLayout>

heading_layout.xml:

<?xml version="1.0" encoding="utf-8"?>
<merge
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/titleImg"
android:src="@drawable/bg_cell"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/titleTxt"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
</merge>

所以在您的 Activity 中,您将 setContentView(R.layout.root); 包括 header 。

除此之外,您还可以通过编程方式做一些很酷的事情,例如将布局从 xml 插入 root.xml(在 setContentView(); 之后:

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.home, rootLayout);

其中 rootLayout 是通过 id 找到的父 RelativeLayoutR.layout.home 是您希望添加到根的布局

关于android - 在我的第一个布局资源中包含第二个布局资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872548/

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