gpt4 book ai didi

android - 抽屉导航打破布局

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

尝试添加抽屉导航,这会破坏我的布局。主布局有一些按钮、一个编辑文本框和一个 ListView 。抽屉也有一个 ListView 。当我添加抽屉时,主布局上的 Listview 呈现灰色并占据整个屏幕。然而,抽屉按预期工作。

这是我的布局文件:

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="1000dp"
android:id="@+id/drawer_layout"
tools:context=".Departures"
android:weightSum="3" >

<!-- The main content view -->

<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="12dp"
android:layout_marginTop="12dp"
android:gravity="center_horizontal"
android:text="@string/activity_departures"
android:textSize="24sp" />

<TextView
android:id="@+id/div_bar_1"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_marginBottom="7dp"
android:background="#666666"
android:text="@string/empty" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<Button
android:id="@+id/terminal_1_btn"
style="@style/navigation_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="5dp"
android:layout_weight="1.5"
android:background="@drawable/navigation_btn"
android:minHeight="2dp"
android:text="@string/terminal_1_btn" />

<Button
android:id="@+id/terminal_2_btn"
style="@style/navigation_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="10dp"
android:layout_weight="1.5"
android:background="@drawable/navigation_btn"
android:minHeight="2dp"
android:text="@string/terminal_2_btn" />
</LinearLayout>

<TextView
android:id="@+id/div_bar_2"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="7dp"
android:layout_marginTop="7dp"
android:background="#999999"
android:text="@string/empty" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button1"
style="@style/navigation_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@drawable/navigation_btn"
android:minHeight="2dp"
android:text="@string/today_btn" />

<Button
android:id="@+id/button2"
style="@style/navigation_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:background="@drawable/navigation_btn"
android:minHeight="2dp"
android:text="@string/tomorrow_btn" />

<Button
android:id="@+id/button3"
style="@style/navigation_btn"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:background="@drawable/navigation_btn"
android:minHeight="2dp"
android:text="@string/variable" />
</LinearLayout>

<TextView
android:id="@+id/div_bar_3"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="7dp"
android:layout_marginTop="7dp"
android:background="#999999"
android:text="@string/empty" />

<EditText
android:id="@+id/searchFlights"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:hint="@string/search_flights"
android:inputType="text"
android:textSize="14sp" />

<TextView
android:id="@+id/div_bar_2"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginBottom="7dp"
android:layout_marginTop="7dp"
android:background="#999999"
android:text="@string/empty" />

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

<!-- The navigation drawer -->

<include layout="@layout/navigation_drawer" />

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

包含文件:

    <!-- The navigation drawer -->
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/left_drawer"
android:layout_width="160dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#fff"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp" >

抽屉列表项:

   <TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_list_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceListItemSmall"
android:gravity="center_vertical"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:textColor="#000"
android:background="?android:attr/activatedBackgroundIndicator"
android:minHeight="?android:attr/listPreferredItemHeightSmall"/>

根元素的高度(1000dp)只是为了解决模拟器上的显示问题。帮助!我坚持了几个小时......

最佳答案

The height of the root element(1000dp) is only to address a display issue on the emulator..

我真的不明白你在这里做什么,因为 XML 对于你所描述的目标来说似乎过于复杂。 suggested way设置抽屉导航非常简单明了。我也看不到您在哪里定义了将承载其余布局(或主要内容)的 FrameLayout。这确实是最好的方法,可以使 XML 看起来更简洁。您在 FrameLayout 中定义您的主要内容布局(将您的 TextView 和编辑文本包装在线性布局或其他内容中)并让它们成为所述 FrameLayout 的后代。然后添加包含导航列表的 DrawerLayout。

您有子 TextViews 和 EditTexts 在 ViewGroups 之外 float ,我不明白为什么它们没有包含在合适的父级中。

示例实现确实是您所需要的,因为我已经使用 ViewPagers、Fragments、复合 View 等构建了复杂的布局,并且它们都与 Navigation Drawer 配合得很好,因为我遵循了开发人员指南建议的说明。

<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">
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- The navigation drawer -->
<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 - 抽屉导航打破布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658945/

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