gpt4 book ai didi

java - fragment 或 Activity 中的抽屉导航?

转载 作者:行者123 更新时间:2023-11-29 21:11:37 25 4
gpt4 key购买 nike

我正在尝试将抽屉导航添加到将包含一个或两个 fragment 的 Activity 中。无论显示多少 fragment ,我都希望这个 Activity 有一个与之关联的抽屉导航。为此,我想我需要两个 xml 文件,一个用于 Activity ,一个用于 fragment 。除了抽屉导航打开时它位于正常内容 View “下方”之外,这似乎有效。难道我做错了什么?或者有没有办法增加抽屉的 z 索引?

这是我在 Activity 中的 onCreate(),

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alarm_list);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(android.R.id.content, new AlarmListFragment());
fragmentTransaction.commit();
}

这是我的 xml 布局:

Activity :

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
android:id="@+id/alarm_list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>

<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111"/>

</android.support.v4.widget.DrawerLayout>

fragment :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
android:id="@id/android:list"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>

</LinearLayout>

我会提出任何关于如何解决这个问题的建议!谢谢!

最佳答案

我想知道代码是如何为您工作的。上面的代码应该不起作用。您将 fragment 放在 android.R.id.content 中。但我在 DrawerLayout 中看不到您的 Activity XML。此外,抽屉布局应该只有一个 FrameLayout(在您的情况下带有 id 'content')和一个 ListView,如前所述 here .因此,您需要在要为其实现抽屉导航的 Activity XML 中添加如下所示的 FrameLayout

<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent" />

此外,您还必须将 xml 移动到另一个 fragment 中,您可以在 Activity 开始时或需要时加载该 fragment 。

关于java - fragment 或 Activity 中的抽屉导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22599595/

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