谷歌地图片段在scrollView内

2023-12-31

所以我一直在尝试使用谷歌地图精简版fragment里面一个scrollView我无法显示地图。删除后scrollView然后将片段单独保留,现在您就可以看到地图了。我只是想了解为什么会这样,以及是否有任何方法可以让这个片段显示在我的滚动视图的末尾。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.joe.goout.EventDetails">

<ImageView
    android:src="@mipmap/park1"
    android:layout_width="fill_parent"
    android:layout_height="150dp"
    android:scaleType="centerCrop"
    android:adjustViewBounds="true"
    android:id="@+id/imageView"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@+id/imageView"
    android:id="@+id/scrollView"
    android:fillViewport="false">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Medium Text"
        android:id="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

  </ScrollView>
</RelativeLayout> 

首先您需要创建一个自定义ScrollView类,如下所示。

public class CustomScrollView extends ScrollView {

        public CustomScrollView(Context context) {
            super(context);
        }

        public CustomScrollView(Context context, AttributeSet attrs) {
            super(context, attrs);
        }

        public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
            super(context, attrs, defStyle);
        }

        @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
            final int action = ev.getAction();
            switch (action) {
                case MotionEvent.ACTION_DOWN:
                    //Log.i("CustomScrollView", "onInterceptTouchEvent: DOWN super false" );
                    super.onTouchEvent(ev);
                    break;

                case MotionEvent.ACTION_MOVE:
                    return false; // redirect MotionEvents to ourself

                case MotionEvent.ACTION_CANCEL:
                    // Log.i("CustomScrollView", "onInterceptTouchEvent: CANCEL super false" );
                    super.onTouchEvent(ev);
                    break;

                case MotionEvent.ACTION_UP:
                    //Log.i("CustomScrollView", "onInterceptTouchEvent: UP super false" );
                    return false;

                default:
                    //Log.i("CustomScrollView", "onInterceptTouchEvent: " + action );
                    break;
            }

            return false;
        }

        @Override
        public boolean onTouchEvent(MotionEvent ev) {
            super.onTouchEvent(ev);
            //Log.i("CustomScrollView", "onTouchEvent. action: " + ev.getAction() );
            return true;
        }
    }

然后使用CustomScrollView类而不是ScrollView.

<CustomScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/scrollView">

</CustomScrollView>

你就完成了! :D

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

谷歌地图片段在scrollView内 的相关文章

随机推荐

  • 将人员随机分配到不同规模的组和类别中

    我需要将人们随机分配到组和类别中 不幸的是 我真的不知道从哪里开始 我尝试使用下面的示例来解释我的问题 任何对此的帮助将不胜感激 I have 207 A 型住宅 和408 B 型住宅 类别 总共有1524需要分配到 207 Home Ty
  • Condor 输出文件更新

    我正在使用 Condor 运行几次模拟 并对程序进行编码 以便它在控制台中输出进度状态 这是在循环结束时完成的 它只是打印当前时间 也可以是百分比或经过的时间 代码看起来像这样 printf START while programNeeds
  • Bootstrap CSS 隐藏导航栏下方容器的一部分 navbar-fixed-top

    我正在使用 Bootstrap 构建一个项目 但遇到了一个小问题 我在导航顶部下方有一个容器 我的问题是容器的某些部分隐藏在导航顶部标题下方 我不想在容器中使用顶部边距 请参阅下面的 HTML 我在其中遇到了问题 div class div
  • java中使用SimpleDateFormat进行时间格式化

    我的要求是以 hh mm 格式在网页上显示日期 但是 如果小时值是 1 位数字 则不应在小时值之前显示零 例如 应显示为 上午 11 30 上午 9 15 下午 1 00 我试图解决这个问题 但这里唯一的问题是从 1 位数小时值中删除多余的
  • 如何使用 XDocument 打印

    使用 ToString 方法时 有什么方法可以让 XDocument 打印 xml 版本吗 让它输出类似这样的内容
  • Grafana 仪表板根据变量值显示/隐藏行

    因此 我有一个 Grafana 仪表板来显示主机内运行的各种服务的日志 现在 我对不同的服务有不同的行 因为指标和标题是特定于服务的 例如对于 Apache 服务 我们有基于 HTTP 状态代码的日志指标 对于 Oracle 数据库服务 我
  • 如何在 Google Cloud Function 上检查经过身份验证的用户

    我正在构建一个网站 并决定使用纯 HTML JS 和完整的 Firebase 这样我就不必实现后端系统来测试新想法 这个问题的用例是所有用户都应该经过身份验证才能访问页面 相当标准的安全功能 对吧 为了实现这一目标 我利用 Google C
  • Javascript 代码:使用下拉 HTML 动态更改货币

    我一整天都在寻找这个 当从下拉菜单中选择国家或货币时 在整个页面上更改货币 我基本上需要的是一个显示国家或货币的下拉菜单 当您选择其中任何一个 例如美元 时 整个页面的所有价格都会更改为美元 现在 如果您更改 AUD CAD PKR 等 它
  • 如何在绘制之前知道小部件的大小?

    我正在尝试使用AnimatedContainer仅用于扩展效果的简单动画 类似于ExpandableTile 当用户按下它时 我的问题是这个容器在展开时可以有 10 0 高度或 1000 0 它必须是动态的 好的 要为其制作动画 它需要事先
  • 检查输入是否在两个值之间(多个条件)

    我正在制作一个项目 我需要读取不同格式的数字 并根据用户输入检查这些数字 在某些情况下 这将是一个像 8800 9000 这样的区间 在某些情况下 它将是一个 4 位数字 在某些情况下 它将是一个 5 位数字 该数组如下所示 var tes
  • ASP.NET MVC DropDownListFor 不从模型中选择值

    我正在使用 ASP NET MVC 3 并且刚刚使用DropDownListForHTML 帮助器 我在我的控制器中执行此操作 ViewBag ShippingTypes this SelectListDataRepository GetS
  • 子进程不创建 ffmpeg 命令的输出文件

    我正在尝试运行一个 ffmpeg 命令来记录我的屏幕并在 python 中创建一个 mp4 记录文件 当我在 shell 中运行该命令时 该命令有效 但当我使用子进程在 Python 脚本中运行该命令时 该命令不起作用 问题是 当使用子进程
  • 将字符编码映射到每个字符的最大字节数

    我正在寻找一个表 将给定的字符编码映射到每个字符的最大字节数 在可变长度编码的情况下 对于固定宽度编码 这很容易 尽管我不知道 在一些更深奥的编码的情况下 宽度是多少 对于 UTF 8 等 最好确定每个字符的最大字节数取决于在字符串中的最高
  • 仅基于表的一列消除重复值

    我的查询 SELECT sites siteName sites siteIP history date FROM sites INNER JOIN history ON sites siteName history siteName OR
  • 最小化代码,因为我使用相同的代码,仅 p 标签中的内容发生变化,组件 Accordion Header 标头发生变化

    我是js新手 我需要显示 6 个滑块 我单击时的每个 div 都应打开其相应的内容 当我再次单击 div 时 内容应该关闭 就像手风琴一样 正确知道它的工作原理 但如何最小化代码 因为我使用相同的代码 只有 p 标签中的内容发生变化 组件
  • CSS 不透明度属性?

    我真的需要所有这些 CSS 不透明度属性吗 我不会同时使用所有这些 而是 以不同的百分比显示它们 但我通常有 4 人一组 我想看看是否可以从样式表中删除任何内容 有人能给我举个 100 25 和 0 的例子吗 我想确保我正确地完成了它们 o
  • iOS5中如何获取默认的LandscapeLeft方向?

    抱歉 如果这个问题重复 但我找不到相同的解决方案 在 iOS6 中 如果我想为一个 UIViewController 设置默认方向 我只需使用 BOOL shouldAutorotate return YES NSUInteger supp
  • 带有 FileField 的 Django 模型——动态“upload_to”参数

    我使用带有 FileField 的模型来处理文件上传 现在文件就可以成功上传了 不过 我还想做一个小改进 那就是为用户创建用户名的文件夹 这是我尝试过的代码 class UserFiles models Model user models
  • 找不到“FacebookSDK/FacebookSDK.h”文件

    我已经安装了最新版本PhoneGap Facebook 插件 https github com phonegap phonegap facebook plugin但是当我构建项目时 我收到以下错误消息 我尝试了 stackoverflow
  • 谷歌地图片段在scrollView内

    所以我一直在尝试使用谷歌地图精简版fragment里面一个scrollView我无法显示地图 删除后scrollView然后将片段单独保留 现在您就可以看到地图了 我只是想了解为什么会这样 以及是否有任何方法可以让这个片段显示在我的滚动视图