我想制作一个地图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”,但它的高度取决于搜索栏和图像按钮的高度,当我在平板电脑上运行代码时,结果是这样的: wrong height drawer picture 您会看到抽屉的高度不正确。有谁知道原因吗? 非常感谢。
答案 0 :(得分: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
答案 1 :(得分:0)
我找不到这个问题的原因。也许这是ArcGIS Runtime for Android或Android SDK的错误,但我已经想出了解决方案。我使用了DrawerLayout的popupWindow表示。如果有人遇到相同的问题,您可以用这种方法解决。谢谢您的帮助。