我在activity_maps.xml中有这段代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"></fragment>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="492dp">
<Button
android:id="@+id/btnRestaurant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Restaurants"
android:visibility="visible" />
<Button
android:id="@+id/btnHospital"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Hospitals"
android:visibility="visible" />
<Button
android:id="@+id/btnSchool"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Schools"
android:visibility="visible" />
</FrameLayout>
我面临的问题是每当我打开应用程序时,它都不显示任何按钮,只显示地图和当前位置。请帮助,谢谢。
答案 0 :(得分:1)
您的地图片段高度为“match_parent”,这就是为什么它会占用您布局上的所有屏幕。将其保存为wrap_content并使用相对布局确保按钮出现在屏幕底部。地图片段中的“alignParentTop”可确保地图位于屏幕顶部, layout_above 可确保您的地图无法占据所有屏幕,“alignParentBottom按钮布局中的“确保按钮位于底部。尽量不要为布局指定任何静态高度。它会妨碍你的应用程序的响应能力。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:map="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:orientation="vertical">
<fragment
android:layout_alignParentTop="true"
android:id="@+id/map"
android:layout_above="@+id/layout_buttons"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="wrap_contant"></fragment>
<FrameLayout
android:id="@+id/layout_buttons"
android:layout_alignParentTop="true"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/btnRestaurant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Restaurants"
android:visibility="visible" />
<Button
android:id="@+id/btnHospital"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Hospitals"
android:visibility="visible" />
<Button
android:id="@+id/btnSchool"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Schools"
android:visibility="visible" />
</FrameLayout>
</RelativeLayout>
答案 1 :(得分:0)
请将片段放在framelayout
中 像这样:<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"></fragment>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btnRestaurant"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Restaurants"
android:visibility="visible" />
<Button
android:id="@+id/btnHospital"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Hospitals"
android:visibility="visible" />
<Button
android:id="@+id/btnSchool"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nearby Schools"
android:visibility="visible"/>
</LinearLayout>
</FrameLayout>
希望这会对你有所帮助,谢谢:)