gpt4 book ai didi

java - 如何在 Android 中为 fragment 添加标题

转载 作者:行者123 更新时间:2023-12-02 13:23:55 25 4
gpt4 key购买 nike

在AndroidStudio中,我选择“新建-> fragment -> fragment (列表)”来创建项目列表。它工作正常并显示所有项目;但是,我想在顶部有一个标题。

如果我将另一个 TextView 添加到“fragment_item_list.xml”文件中,则标题会出现在列表中的所有项目中。从其他问题中我发现,如果我创建另一个 LinearLayout xml 布局文件(类似于“list_header.xml”)并在其中放入 TextView,我可以使用布局充气器在 fragment Activity 中充气该布局,例如在onCreateView中,

View header = inflater.inflate(R.layout.list_header,container,false);

但是我不知道如何处理 header 才能使其显示在 fragment 中的某个位置。我可以通过调用 container.addView(header); 将其添加到原始 Activity 中,但是如何将其添加到 fragment 中?

我不想更改 ActionBar 标题,首先只是为了美观,其次是因为 fragment 覆盖了它。理想情况下,应该有一个像警报对话框一样的标题。

最佳答案

让我试着理解你。您想要将标题添加到 fragment 列表(如标题),而不是添加到 ActionBar 中。对吗?

查看fragment_item_list.xml,我们有这个:(我按照您的步骤操作:“新建-> fragment -> fragment (列表)”)

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView 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/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:layoutManager="LinearLayoutManager"
tools:listitem="@layout/fragment_item" />

RecyclerView是一个用于填充列表的容器,换句话说,RecyclerView(或ListView)仅包含所有列表。因此,您必须添加另一个容器(如 LinearLayout、RelativeLayout 等)作为布局的根,以向布局添加更多 View 。使用 LinearLayout 的示例:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World! I'm a header!"/>

<android.support.v7.widget.RecyclerView
android:id="@+id/list"
android:name="com.veroapps.myapplication.ItemFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
app:layoutManager="LinearLayoutManager"
tools:listitem="@layout/fragment_item" />
</LinearLayout>

这样您将得到一个顶部有标题的列表。现在,您可以在ItemFragment(Android Studio生成的 fragment 的名称)中管理标题TextView。当然,还有更多方法可以做到这一点,但这是一种简单的方法。

希望这对您有帮助。

关于java - 如何在 Android 中为 fragment 添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43457025/

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