将 MapView 限制为屏幕的一半

2024-06-06

我试图让地图仅填充屏幕的上半部分,并在下半部分填充一些其他布局。现在我知道使用权重与表格布局相结合应该可以实现这一点。但是同一段 XML 代码可以完美地与 say 按钮配合使用,但不能与地图配合使用。
截图在这里 https://i.stack.imgur.com/oBoJB.jpg.

XML 代码:

<TableLayout
    android:id="@+id/tableLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" 
        >
            <com.google.android.maps.MapView
            android:id="@+id/map2"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:apiKey="0_z4IHjB6EnXohnoyoudontgoVmhg"
            android:clickable="true" >
        </com.google.android.maps.MapView>

    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >
        <Button android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="SECOND"></Button>

    </TableRow>

    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >
        <Button android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="SECOND"></Button>
    </TableRow>
</TableLayout>

如果您用按钮替换 Mapview 块,它将看起来像屏幕截图中的第一个图像,而现在它看起来像第二个图像。
在这两种情况下,我都没有更改任何权重参数或布局宽度或高度,但它以某种方式改变了大小。知道如何让 MapView 只覆盖一半屏幕吗?


抱歉,Urban,给了你一个错误的指导 - 我之前已经看过这个,我可以限制地图大小的唯一方法是以编程方式,但是,我已经用这种类型的布局完成了它:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"     
 android:orientation="vertical" >          

 <FrameLayout android:id="@+id/map_frame"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="0.7" >     

    <com.google.android.maps.MapView
        android:id="@+id/map_view" 
        android:layout_width="fill_parent"
        android:layout_height="match_parent" 
        android:enabled="true" 
        android:clickable="true"             
        android:apiKey="dgvbdj_my_secret_key_nvc8mxcksos"/>

 </FrameLayout>

 <co.uk.mycompany.ui.MapNavBar
    android:id="@+id/map_nav"
    android:layout_width="fill_parent"
    android:layout_height="70dip"
    android:layout_gravity="bottom"
    android:layout_weight="0.3" /> 

显示的最后一项是自定义小部件,但布局应显示所涉及的原理。这限制了地图高度,但允许其全宽。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 MapView 限制为屏幕的一半 的相关文章

  • 如何让选项菜单出现在屏幕底部?

    这就是我想要实现的 当人们单击工具栏右上角的菜单时 选项菜单会出现在屏幕底部 见下图 我不确定应该为底部的项目调用什么方法 有人可以给我一些关于如何实现这个的提示吗 我使用下面的代码成功实现了右上角菜单栏中的图标 但我不知道如何在屏幕底部显
  • 静态引用被清除——Android 是否会在运行时卸载未使用的类?

    我有一个关于类加载 垃圾收集在 Android 中如何工作的具体问题 我们已经多次遇到这个问题 据我所知 Android 的行为与普通 JVM 不同 问题是这样的 我们目前正在尝试减少应用程序中的单例类 转而使用单个根工厂单例 其唯一目的是
  • 如何在谷歌地图中隐藏当前位置? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我在我的项目中实现了谷歌地图 我想隐藏默认的当前位置标记 请参阅附图 但是 我需要显示允许转到我当前位置的按钮 标记在右上角 您可以使用 G
  • 如何在 android 中第一个图像上的选定点处将两个位图合并在一起?

    如何将两个不同的图像合并为一个 我还需要在第一张图像的特定点合并第二张图像 安卓可以用吗 这应该有效 根据位图创建画布对象 绘制另一个位图到该画布对象 方法将允许您 具体设定坐标 原始 Bitmap 对象将保存新数据 因为 画布写入它
  • MyLocationOverlay 或 LocationManager 用于更新当前位置

    我正在使用 MapView 在地图上显示用户的当前位置 要在用户移动时更新位置 我必须做出选择 我可以使用 MyLocationOverlay 绘制当前位置并将其扩展以允许跟踪用户移动位置并具有自定义标记 MyLocationOverlay
  • 如何在 Android API 上使用 setImageTintList() < 21

    imgView setImageTintList getResources getColorStateList R color my clr selector 它说 调用需要 API 级别 21 如何让它在 API 21 以下的 Andro
  • Android WebView 不会滚动

    我有一个WebView在 Android 4 2 中加载一个本地 HTML使用javascript 放置在资产文件夹中 我的问题是 我无法在我的 WebView 中滚动任何 我通过类似的问题尝试了很多事情和建议 但没有任何效果 我的 Htm
  • 在 Android 应用程序中使用 GPS

    我目前正在研究在 Android 应用程序中使用 GPS 在 android 文档中我看到了以下行 LocationProvider locationProvider LocationManager NETWORK PROVIDER Or
  • CardView 在 > API 21 上存在透明背景问题

    我正在构建一个具有透明背景的 CardView 并且在尝试将 cardBackgroundColor 设置为具有 alpha 通道的颜色时遇到了问题 这是我尝试过的
  • Android 日期选择器月份作为数字

    在 Android DatePicker 中 在某些操作系统中 月份显示为 Jan Feb Mar Dec 在其他操作系统中 月份显示为 1 2 3 12 有没有办法让它始终保持一致 以便它始终显示 1 2 3 12 作为月份 显示 1 2
  • Motorola 设备:解析 ThreeTen 中的日期时出现 org. Threeten.bp.DateTimeException

    我在某些摩托罗拉设备上有一个非常奇怪的行为LocalDateTime now 正在返回0000 00 00T00 00 00 0 with 三十ABP https github com JakeWharton ThreeTenABP 代码如
  • 使用 Gradle 将 Lint 结果发布到 Sonar

    我正在尝试使用 Gradle 将 Lint 结果发布到声纳服务器 其他分析结果已发布 但 Lint 结果未发布 有谁有让这个工作的经验吗 我找不到任何附加信息 声纳的版本是3 5 1 Gradle的版本是1 10 顶层构建文件如下所示 有
  • 未实现接口成员“IComparable.CompareTo(Object)”

    我有一个 android 的 aar 文件 我正在尝试在我的 xamarin android 应用程序中使用它 我按照链接中给出的步骤进行操作https developer xamarin com guides android advanc
  • 以编程方式设置android布局参数

    我是安卓新手 我想知道如何从程序中为任何布局 如绝对布局 设置布局 x 和布局 y 宽度和高度的参数或属性 对于按钮你可以尝试这样 RelativeLayout Layoutparams params RelativeLayout Layo
  • Android 点击列表视图

    我有一个包含 15 个项目的列表视图 当我单击任何项 目时 我想更改屏幕 意图 如何更改 Android 中所选项目的活动 有教程或者源码吗 您可以使用ListView s setOnItemClickListener 并在此方法的实现中启
  • Android动态和静态BroadcastReceiver

    我要在我的应用程序上插入一些提醒 他们每个人都会有不同的时间 阅读有关 BroadcastReceiver 的内容 即使应用程序未运行 静态版本也会运行 仅当应用程序处于活动状态时才是动态版本 在 onPause 时被销毁并在 onResu
  • AutoCompleteTextView showDropDown 中的 IllegalArgumentException

    我在 Google Play Console 中收到了这份崩溃报告 但我自己从未经历过 java lang IllegalArgumentException at android widget ListPopupWindow setHeig
  • 如何反转 TextView 选取框的方向

    我想反转 TextView 中选取框的方向 默认情况下 文本从右向左移动 我希望它从左向右移动 我怎样才能做到这一点 我想出了一个非常简单易行的方法来做到这一点 我制作了一个选框效果 根据我们的选择向两个方向移动 所以 这里有一个技巧 我在
  • Jetpack Compose Navigation - 将参数传递给 startDestination

    我正在构建的应用程序使用带有路线的组合导航 挑战在于起始目的地是动态的 这是一个最小的例子 class MainActivity ComponentActivity override fun onCreate savedInstanceSt
  • 由 java.lang.IllegalStateException 引起:无法为分离的片段创建 ViewModelProvider

    我需要一些帮助来解决以下崩溃问题 我正在刷新我的重新启动列表Activity通过致电fragment in viewpager刷新其列表 以下是崩溃的堆栈跟踪 Caused by java lang IllegalStateExceptio

随机推荐

  • Android view.animate() 第一次执行后工作方式不同且错误

    我已经实现了一个横幅 每当用户失去连接时就会弹出 重新连接后 另一个横幅会显示几秒钟然后消失 布局是一个RelativeLayout 其中一个灰色的TextView 表示警告 一个绿色的TextView 表示重新连接消息 如果我只是更改 V
  • npm 错误:找不到模块“core-util-is”

    当我跑步时 npm v npm install and npm install save react native voice 出现此错误 module js 549 throw err Error Cannot find module c
  • 如何编译 C++ 代码并将其与已编译的 C 代码链接?

    我希望能够使用Cmockery http code google com p cmockery 模拟从我正在测试的 C 代码调用的 C 函数 作为实现这一目标的一步 我已重命名 Cmockery 示例运行测试 c http code goo
  • Zookeeper + Kafka - 无法创建数据目录

    我在单节点中使用zookeeper 3 4 8并尝试使用kafka 当我运行这个命令时 zookeeper server start sh usr local kafka 2 9 2 0 8 2 2 config zookeeper pro
  • WPF (MVVM) 菜单中的互斥(且可绑定)复选框

    我试图找到一个在 WPF MVVM 应用程序的菜单中使用复选框的示例 该应用程序可以绑定到底层 ViewModel 类中的枚举 我有一个简单的例子 public class MyViewModel public MyViewModel co
  • 对 ruby​​ 命令行应用程序的代码进行单元测试 - 如何模拟/通过 ARGV

    我有一个命令行应用程序 它使用 thor 来处理选项的解析 我想使用 test unit 和 或 minitest 对代码进行命令行功能的单元测试 我似乎无法弄清楚如何确保 ARGV 数组 通常会保存命令行中的选项 保存我的测试选项 以便可
  • 使用 Electron 应用程序打包 Keytar

    我正在使用电子构建器 16 6 2 来打包我的电子应用程序 其中包括 keytar 3 0 2 作为产品依赖项 package json 文件包括 scripts postinstall install app deps compile d
  • AMD OpenCL 在 Linux 上工作所需的最小必要文件子集是什么?

    我已经使用 buildroot 构建了 Linux 内核 我已将开源 amdgpu 驱动程序和所需的固件合并到其中 驱动程序很好 检测 GPU 模式设置运行良好 调整 小文本 的分辨率 启动后会显示命令行 现在我需要运行 OpenCL 程序
  • 内部/匿名类的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 匿名类和静态内部类的最佳实践 设计和性能方面 是什么 就我个人而言 我认为静态内部类提供了更好的封装 并且应该提供更好的性能 因为它们无法访问类
  • 当向数据库表添加一列时,如何让 datagridview 显示更改?

    我在 Visual Studio 的项目中创建了一个数据集 该数据集指向我的数据库中的一个表 然后将 datagridview 控件绑定到它 现在我打开数据库并向数据库中的表添加另一列 然后我打开数据集并更新其配置以包含更改 然后我想更新
  • 使用正则表达式验证字符串是否安全

    我有一个网站 用户可以在其中选择用户名 目前 他们可以输入几乎任何字符 包括 ETC 我知道我可以使用正则表达式 这可能就是我的选择 我将使用否定集 我认为这是正确的工具 如下所示 那么 我怎样才能知道要放入该集合中的所有非法字符呢 我可以
  • 为什么我必须将 Async 包装到另一个异步工作流程中并让!它?

    我试图了解 F 中的异步工作流程 但我发现有一部分我真的不明白 下面的代码工作正常 let asynWorkflow async let result Stream TryOpenAsync partition gt Async Await
  • QSortFilterProxyModel + QAbstractItemModel modelIndex.internalPointer() 导致崩溃

    我在 PyQt 4 8 Python 2 7 中实现了自己的 QAbstractItemModel class FriendListModel QtCore QAbstractItemModel def init self groups c
  • 从 React 项目中删除 ESLint

    我使用 ESLint 配置到我的项目中eslint init 它已配置到我的项目中 现在我想从我的项目中删除它 因为它在项目中显示了不必要的错误 如何从我的项目中删除启动的 ESLint 基本上删除就可以了 eslintrc以及项目中的任何
  • `custom.js` 存在于哪里或者如何为 Jupyter 4.1.1 创建一个?

    我找不到custom js对于使用 Python3 5 1 安装在 pyenv virtualenv 下的 Jupyter 笔记本 有人说custom js位于 jupyter custom custom js但我没有 顺便说一句 我可以创
  • ASP.NET MVC 阻止用户直接访问 URL

    因此 我在 MVC 中创建了一个简单的 hello world 作为概念证明 索引视图列出了一些组成的记录 后面是典型的 编辑 详细信息 和 删除 操作链接 但是 根据哪个 AD 组拥有该记录 我不会呈现其中一些选项 举例来说 假设我要提取
  • Ruby MRI 1.8.7 - 文件写入线程安全

    在我看来 在 Ruby MRI 1 8 7 中写入文件是完全线程安全的 示例 1 完美的结果 File open test txt a f threads 1 000 000 times do n threads lt lt Thread
  • Pthread互斥锁由不同线程解锁

    一个天真的问题 我之前读到过 MUTEX 只能由锁定它的线程解锁 但我写了一个程序THREAD1锁定 mutexVar 并进入睡眠状态 然后THREAD2可以直接解锁mutexVar做一些操作并返回 gt 我知道每个人都说我为什么要这样做
  • 在 ms-sql 中查找最近的位置

    我将这些参数发送给我的脚本 纬度 41 0186 经度 28 964701 它是示例 我想找到最近的位置的名称 这个怎么做 查询必须更改代码的位置 sql查询 SELECT Name FROM Location WHERE Latitude
  • 将 MapView 限制为屏幕的一半

    我试图让地图仅填充屏幕的上半部分 并在下半部分填充一些其他布局 现在我知道使用权重与表格布局相结合应该可以实现这一点 但是同一段 XML 代码可以完美地与 say 按钮配合使用 但不能与地图配合使用 截图在这里 https i stack