gpt4 book ai didi

android - 如何在 NavigationDrawer 的底部设置一个 ListView?

转载 作者:行者123 更新时间:2023-11-29 01:00:46 26 4
gpt4 key购买 nike

我正在开发一个应用程序,但遇到一个问题,我无法在 DrawerLayout 底部显示 ListView,这是我的代码:

<?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
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:minWidth="25px"
android:minHeight="25px">
<android.webkit.WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/webView" />
</LinearLayout>
<ListView
android:id="@+id/navList"
android:layout_width="180dp"
android:layout_height="match_parent"
android:choiceMode="singleChoice"
android:layout_gravity="left|start"
android:background="#ffffff" />
</android.support.v4.widget.DrawerLayout>

这是目前的样子:

example

我尝试在 RelativeLayout 中设置 ListView,但它根本不起作用(例如,我使用了当前答案之一,尽管我之前自己尝试过。)。这是发生了什么:

image2

此外,我也尝试设置一个 ImageView 来创建一些空间,但在这两种情况下,代码都破坏了代码。

这就是我想要做的:

example

有人知道吗?谢谢。

最佳答案

为了让它工作,有几个变化:

首先创建一个Fragment类:

public class BlankFragment : Fragment
{
public BlankFragment()
{
}

public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// Inflate the layout for this fragment
return inflater.Inflate(Resource.Layout.BlankFragment, container, false);
}
}

其次,将 ListView 替换为 XML 中的 Fragment:

<fragment
android:name="your package name.BlankFragment"
android:layout_width="180dp"
android:layout_height="match_parent"
android:layout_gravity="left"/>

最后:

将 ListView 移动到 fragment XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="180dp"
android:layout_height="match_parent"
android:background="#e00808"
tools:context=".BlankFragment">

<!-- TODO: Update blank fragment layout -->

<ListView
android:id="@+id/navList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:layout_alignParentBottom="true"
android:background="#ffffff" />

</RelativeLayout>

此外,您需要通过 android:layout_height="wrap_content" 更改 android:layout_height="match_parent"。然后结果将低于预期。

img

我在 Xamarin 论坛上得到了 robbit 的大力支持:

https://forums.xamarin.com/discussion/129313/how-to-set-a-listview-at-the-bottom-of-a-navigationdrawer

您可以查看他的答案!谢谢robbit !

关于android - 如何在 NavigationDrawer 的底部设置一个 ListView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51339930/

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