无法在 MapView 下方设置按钮

发布于 2024-09-16 02:26:02 字数 706 浏览 19 评论 0原文

我的布局的一部分如下所示,但按钮显示在 MapView 上方,而不是按预期显示在地图“下方”。我该如何解决这个问题?

   <RelativeLayout android:id="@android:id/tabcontent"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent">
    <com.google.android.maps.MapView
        android:id="@+id/mapview1" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:clickable="true"
        android:apiKey="0i4xk7rTGI6b6ggDrC9hOYCbOd9julMg_DG79cg" />
    <Button android:id="@+id/btnBanner" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text = "text"
        android:layout_below="@+id/mapView1"
     />

Part of my Layout is shown below, but the Button shows up above the MapView and NOT as expected "below" the map. How can I fix this?

   <RelativeLayout android:id="@android:id/tabcontent"
       android:layout_width="fill_parent"
       android:layout_height="fill_parent">
    <com.google.android.maps.MapView
        android:id="@+id/mapview1" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:clickable="true"
        android:apiKey="0i4xk7rTGI6b6ggDrC9hOYCbOd9julMg_DG79cg" />
    <Button android:id="@+id/btnBanner" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text = "text"
        android:layout_below="@+id/mapView1"
     />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

×纯※雪 2024-09-23 02:26:02

您的 ID 值不相同:

android:id="@+id/mapview1"           // lowercase v

android:layout_below="@+id/mapView1" // uppercase V

这会在编译时捕获,但您在两者上都添加了 + 符号。这就是我尝试坚持“仅在第一次出现时放置 + ”规则的原因之一。

编辑

此布局有效(尽管您需要替换 API 密钥):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <com.google.android.maps.MapView android:id="@+id/map"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="..."
        android:layout_above="@+id/btnBanner"
        android:layout_alignParentTop="true"
        android:clickable="true" />
  <Button android:id="@id/btnBanner" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text = "text" />
</RelativeLayout>

Your ID values are not the same:

android:id="@+id/mapview1"           // lowercase v

android:layout_below="@+id/mapView1" // uppercase V

That would have been caught at compile time, but you put the + sign on both. That's one reason I try to stick to the rule of "put the + sign only on the first occurrence".

EDIT

This layout works (though you'll need to replace your API key):

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <com.google.android.maps.MapView android:id="@+id/map"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="..."
        android:layout_above="@+id/btnBanner"
        android:layout_alignParentTop="true"
        android:clickable="true" />
  <Button android:id="@id/btnBanner" 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text = "text" />
</RelativeLayout>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文