-3

我想做一个地图APP,我用了Drawerlayout,我的主布局是Relativelayout,左抽屉是Linerlayout,我的布局如下。

<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_drawer"
android:layout_width="match_parent"
android:layout_height="match_parent">

<RelativeLayout
    android:id="@+id/fragment_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



    <com.esri.arcgisruntime.mapping.view.MapView
        android:id="@+id/main_map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"></com.esri.arcgisruntime.mapping.view.MapView>
    <!--SearchBar部分-->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" android:layout_width="500dp"
        android:layout_height="50dp"
        android:layout_marginTop="20dp"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:layout_marginLeft="20dp">

        <ImageButton
            android:id="@+id/searchbar_more_button"
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:src="@drawable/main_searchbar_more"
            android:background="@color/mainColor"
            android:scaleType="centerInside"/>

        <EditText
            android:id="@+id/searchbar_searchtext_textview"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:background="@color/whiteColor"
            android:gravity="center"
            android:hint="请输入要查询的信息"
            android:textAlignment="viewStart"
            android:textSize="20dp" />
        <ImageButton
            android:paddingTop="5dp"
            android:paddingBottom="5dp"
            android:id="@+id/searchbar_search_button"
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:background="@color/mainColor"
            android:src="@drawable/main_searchbar_search"
            android:scaleType="centerInside"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="70dp"
        android:layout_marginRight="20dp">

        <ImageButton
            android:id="@+id/main_global_button"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:scaleType="centerInside"
            android:background="@color/mainColor"
            android:src="@drawable/main_global_button" />

        <ImageButton
            android:id="@+id/main_layerswitch_button"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="20dp"
            android:scaleType="centerInside"
            android:background="@color/mainColor"
            android:src="@drawable/main_layerswitch_button" />

        <ImageButton
            android:id="@+id/main_electricity_button"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="20dp"
            android:scaleType="centerInside"
            android:background="@color/mainColor"
            android:src="@drawable/main_electricity_button" />

        <ImageButton
            android:id="@+id/main_measure_button"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="20dp"
            android:background="@color/mainColor"
            android:scaleType="centerInside"
            android:src="@drawable/main_measure_button" />

        <ImageButton
            android:id="@+id/main_location_button"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginTop="20dp"
            android:background="@color/mainColor"
            android:scaleType="centerInside"
            android:src="@drawable/main_location_button" />
    </LinearLayout>


</RelativeLayout>
<!--左边抽屉菜单-->
<LinearLayout
    android:id="@+id/menu_layout_left"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:layout_gravity="left"
    android:orientation="vertical">
    <include layout="@layout/left_drawer"></include>
</LinearLayout>

但是我发现虽然我将抽屉的高度设置为'match_parent',但它的高度取决于搜索栏和图像按钮的高度,当我在平板电脑上运行代码时,结果是这样的: 抽屉图片高度错误 你可以看到抽屉高度不对。有没有人知道原因?非常感谢。

4

2 回答 2

0

我找不到这个问题的原因。可能是 ArcGIS Runtime for Android 或 Android SDK 的错误,但我已经想到了一个解决方案。我使用了 DrawerLayout 的 popupWindow 实例。如果有人遇到同样的问题,你可以用这种方式解决。谢谢你的帮助。

于 2018-08-13T08:34:45.153 回答
0

对于导航抽屉,您应该像这样使用它

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
    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/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">


    <include
        layout="@layout/content_main_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />


    <android.support.design.widget.NavigationView
        android:id="@+id/nav_view"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:fitsSystemWindows="true"
        android:background="@color/backGroundColor"
        app:menu="@menu/menu_activity_drawer"
        app:itemTextColor="@color/mainFontColor"

        />


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

所以你不应该在抽屉内使用线性布局放置你想要的任何项目你可以放置菜单项或者你可以放置recyclerview

于 2018-08-12T14:30:59.090 回答