Android:CollapsingToolbarLayout 中的 MapView

2024-01-17

我目前正在尝试放置一个Map View(或包含地图的片段)内CollapsingToolbarLayout。我想在它上有视差效果RecyclerView卷轴。不幸的是,它根本没有出现!连灰色网格都没有!不过,折叠动画正在发挥作用。我到处寻找,但我所能找到的只是ImageView并且没有其他组件。这是我的问题:

  1. 是否可以放置除ImageView in a CollapsingToolbarLayout? (文档正在谈论子视图,所以我认为这是可能的)
  2. 如果是这样,是否也允许使用片段?
  3. 那我做错了什么??

这是我的 xml:

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:map="http://schemas.android.com/tools"
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="300dp">

        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <android.support.v7.widget.Toolbar
                android:id="@+id/main_activity_toolbar"
                android:layout_height="?attr/actionBarSize"
                android:layout_width="match_parent"
                android:background="?attr/colorPrimary"
                android:layout_alignParentTop="true"
                app:layout_collapseMode="pin"
                app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
            </android.support.v7.widget.Toolbar>

            <com.google.android.gms.maps.MapView
                android:id="@+id/main_activity_mapview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:apiKey="AIzaSyA-kEuKT39QK8eG7iYWriFgsvkrZZz6zNo"
                android:clickable="true"
                app:layout_collapseMode="parallax" />

        </android.support.design.widget.CollapsingToolbarLayout>

    </android.support.design.widget.AppBarLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/main_rv_list_places"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>

还有我拿回地图的部分。onMapReady从来没有 触发。

    if (mMap == null) {

        MapView mapView = (MapView) findViewById(R.id.mapview);
        mapView.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(GoogleMap googleMap) {
                mMap = googleMap;
                MapsInitializer.initialize(MainActivity.this);
                //...
                // other stuff here
            }
        });

    }

You can use MapView also to display google map. 

在 Coordinator 布局中,我们可以使用带有 mapview 的折叠工具栏。它工作正常。

需要正确提及谷歌地图键。

活动_main.xml:

<android.support.design.widget.CoordinatorLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true">
    <android.support.design.widget.AppBarLayout
        android:id="@+id/appbar_lay"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff"
        android:fitsSystemWindows="true"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <android.support.design.widget.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:contentScrim="?attr/colorPrimary"
            app:layout_scrollFlags="scroll|exitUntilCollapsed"
            app:titleEnabled="false"
            app:statusBarScrim="@null"
            android:fitsSystemWindows="true">
                <com.google.android.gms.maps.MapView
                    android:id="@+id/map_view"
                    android:layout_width="match_parent"
                    android:layout_height="300dp"
                    android:layout_below="@+id/main_lay"
                    android:apiKey="@string/google_maps_key"
                    android:clickable="true"
                    android:enabled="true"
                    android:focusable="true"
                    app:layout_collapseMode="parallax"/>
        </android.support.design.widget.CollapsingToolbarLayout>
    </android.support.design.widget.AppBarLayout>
    <android.support.v7.widget.RecyclerView
        android:id="@+id/post_rcycler"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffff"
        android:visibility="visible"
        android:clipToPadding="false"
        android:fitsSystemWindows="true"
        app:layout_collapseMode="parallax"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
    </android.support.v7.widget.RecyclerView>
</android.support.design.widget.CoordinatorLayout>

MainActivity.Java:

public class MainActivity extends AppCompatActivity implements View.OnClickListener, OnMapReadyCallback, GoogleApiClient.ConnectionCallbacks,
        GoogleApiClient.OnConnectionFailedListener, com.google.android.gms.location.LocationListener, GoogleMap.OnMapLoadedCallback  {
    private MapView mapView;
    private GoogleMap mGoogleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mapView = (MapView) findViewById(R.id.map_view);
    mapView.onCreate(savedInstanceState);
    mapView.getMapAsync(this);

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

Android:CollapsingToolbarLayout 中的 MapView 的相关文章

  • 如何使用 Android 版 Facebook 同步的联系人图片

    我的手机上安装了 Android 版 Facebook 它会自动将联系人列表中人员的 FB 个人资料图片同步到我的手机 我想在我访问的应用程序中使用这些图片ContactsContract PhoneLookup 我真的需要 Faceboo
  • Android 构建 gradle 在特定设备上失败

    我面临一个奇怪的问题 当我编译我的应用程序以在 Android 7 0 的设备上运行它时 它可以工作 但是当我尝试为 Android 4 2 1 的设备进行编译时 它会失败并出现以下错误 错误 任务 app transformClasses
  • 如何在 Android 中创建刮刮卡?

    我需要为我在学校的期末项目创建一个 刮刮卡 应用程序 但找不到如何实现刮刮事件的方法 如何创建背景图像并在其上放置灰色矩形 所以当我刮刮这些矩形时我会看到他们下面的图片 实现必须在 Android 中 因为我还不知道如何在 Objectiv
  • 如何从静态快捷方式启动活动的现有实例

    我的应用程序中有一个活动 MainActivity 并且有一个静态快捷方式 指向 TempActivity 由于静态快捷方式将始终设置 FLAG ACTIVITY NEW TASK 和 FLAG ACTIVITY CLEAR TASK 因此
  • 将寻呼机视为列表视图行项目

    我有一个包含 20 行的列表视图 我想为列表视图中的每一行设置一个视图寻呼机 由于列表视图的行中的项目可能是一个或多个 并且我想使用视图分页器显示列表视图行项目 为此 我使用以下代码 将显示在列表视图行中的自定义布局 作为分页器项目
  • 明文 HTTP 流量...不允许

    我的程序从用户那里获取一个 URL 因此它可以向互联网上的任何网站发出请求 我试图让这成为可能 我查找了有关 Android HTTP Cleartext 错误的所有答案 并做了这个 但它仍然不允许我连接我的测试本地 PHP 服务器 我在这
  • 用于代码生成的 ANTLR 工具版本 4.7.1 与当前运行时版本 4.5.3 不匹配

    我正在开发一个 Android 应用程序 当前使用 DSL 和一些库 突然构建给了我这个错误 任务 app kaptDebugKotlin 失败 用于代码生成的 ANTLR 工具版本 4 7 1 与当前运行时版本 4 5 3 不匹配 用于解
  • 如何在不改变的情况下将字符串转换为字节?

    我需要一个解决方案将字符串转换为字节数组而不需要像这样进行更改 Input String s Test Output String s Test byte b Test 当我使用 s getBytes 那么回复是 B 428b76b8 但我
  • ImageButton 拉伸背景图像

    我正在尝试创建一个没有边框的 ImageButton 但遇到了图像按钮大小的问题 我使用 Eclipse ADT 将 ImageButton 拖到布局中并选择背景图像 图像按钮显示如下 正如您所看到的 背景图像和图像按钮周边之间有一个边框
  • 如何在Android中隐藏应用程序标题? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想隐藏应用程序标题栏 您可以通过编程来完成 import android app Activity import android os
  • 在Android的activity中调用onResume

    在活动的过程中通过调用 this OnResume 强制 onResume 事件可以吗 或者我应该实现另一个由 OnResume 和第一个成员调用的过程 实现在您的重写中调用的另一个过程onResume 后者不打算由您调用 它是一种方便的方
  • 如果联系人与电话通讯录中的应用程序关联,则显示应用程序图标

    我正在尝试显示与该应用程序关联的电话号码的应用程序图标 我试着跟随this http www c99 org 2010 01 23 writing an android sync provider part 1 链接但是太难了 有没有任何库
  • Android 将菜单项在操作栏中向左对齐

    我的应用程序中有一个操作栏 它显示我定义的菜单项res menu activity main xml 我的菜单项在操作栏上向右对齐 我希望它们左对齐 我为此找到的唯一解决方案使用了自定义操作栏 如下所示 将菜单项放置在 Honeycomb
  • 找不到资源矢量绘图的异常

    我将在某些设备上运行我的应用程序 其崩溃日志如下 01 04 16 54 02 206 7466 7466 com lawnmowers E AndroidRuntime FATAL EXCEPTION main Process com l
  • 协程和 Firebase:如何实现类似 Javascript 的 Promise.all()

    在 Javascript 中 您可以同时启动两个 或更多 异步任务 等待它们完成 然后执行某些操作 继续 const firstReturn secondReturn await Promise all firstPromise secon
  • 我可以在主线程上读取一个小 txt 文件,还是应该始终避免那里的 I/O?

    我正在读取一个小的 json 文件 其中有几行 它存储在用户设备的内部应用程序文件夹中 我所做的就是这样 JSONObject jsonObject new JSONObject MyUtils inputStreamToString My
  • 在 TextView onTextChanged 上设置文本

    我有一个定义为类属性的文本视图 以便我可以在整个类中访问它 在 onCreate 方法中我执行以下操作 chars TextView findViewById R id chars chars setText 300 之后 public v
  • TYPE_ACCELEROMETER 和 TYPE_LINEAR_ACCELERATION 传感器有什么区别?

    I think TYPE ACCELEROMETER显示设备加速 但是 我不明白什么时候应该使用TYPE LINEAR ACCELERATION 我需要计算移动设备的速度 哪种传感器适合此应用 另外 我读到TYPE LINEAR ACCEL
  • 将数据放入短信发送意图中?

    我想发送短信 如果文字太长 我会将其分成多条消息 我试图将一些额外的信息放入 已发送 意图中 以了解哪个部分已发送 以及所有部分何时完成 ArrayList
  • Android 中带有无尽列表视图滚动的 AsyncTask

    我正在创建一个应用程序 其中我需要有无限的滚动列表视图 我不想在我的应用程序中使用任何库 我在网上看到了一些有助于实现此类列表视图的示例 但我的疑问是 当我的数据来自服务器并在异步任务中进行解析时 如何才能拥有无尽的列表视图 如何从滚动异步

随机推荐

  • C++ 的自定义运行时类型系统/库

    在我目前正在制作的应用程序中 我有一个EventDispatcher与基础一起使用的类Event班级 调度程序不是模板化的 它适用于每个事件的运行时类型 这是为了允许脚本从基础继承Event班级并举办自己类型的活动 它也希望这个事件调度程序
  • Jetpack Compose 折叠工具栏

    我找不到关于此事的任何文件 是否有类似的内容CollapsingToolbar在撰写中 我发现的只是提及它here https developer android com jetpack compose gestures 但没有说明如何设置
  • 如何向 selenium chrome webdriver 添加多个扩展

    如何向 selenium chrome webdriver 添加多个扩展 我尝试使用逗号添加扩展名 但出现错误 chrome options add extension r C Users Administrator Desktop chr
  • Python:每三个单词分割字符串

    我已经搜索了一段时间 但似乎找不到这个小问题的答案 我有这段代码 应该在每三个单词后分割字符串 import re def splitTextToTriplet Text x re split S s 2 S Text return x p
  • 如何在 C 中通过 tcp 套接字构建协议标头和正文

    我正在写一个 tacacs 客户端 我正在尝试编写一个简单的数据包发送到服务器 我检查了RFC 页面 https datatracker ietf org doc html draft grant tacacs 02我看到协议需要在每个数据
  • 在 mamp 上运行 php [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我已经在我的 macbook pro 中安装了 MAMP 我想运行一个 php ini我能做些什么 Applications MAMP ht
  • Scala - 从 ISO-8859-1 转换为 UTF-8 会导致外来字符陌生

    这是我的问题 我有一个已转换为字节数组的输入流 但我不知道运行时输入流的字符集 我最初的想法是用 UTF 8 进行所有操作 但我发现编码为 ISO 8859 1 且包含外来字符的流存在奇怪的问题 那些疯狂的瑞典人 这是有问题的代码 IOUt
  • 配置项目“:app”时出现问题。在react-native中并给出一些字节代码作为错误

    当我运行react native应用程序时创建项目后 它给了我这个错误 FAILURE Build failed with an exception What went wrong A problem occurred configurin
  • 更改字符串的排序顺序,包括特殊字符(例如“_”)

    PHP 脚本按降序输出电子邮件地址列表 如下所示 email protected cdn cgi l email protection email protected cdn cgi l email protection email pro
  • 如何使用 Java / Scala 在内存中保存数据结构 G-wan

    我将 Gwan 视为运行 Scala 应用程序的更高性能方式 我们的用例涉及使用 Scala 数据结构在内存中保存大量数据 这比简单的哈希图要复杂一些 因此我希望避免尝试将其插入 Gwan 附带的 K V 存储中 此外 还有许多非常适合交互
  • VS 2013 看不到我的自定义签入策略

    我有通过 VSIX 部署的自定义签入策略 现在我尝试在 Visual Studio 2013 中使用它们 我做了什么 我在 VS 2013 中打开了我的策略 将 vsixmanifest 中的 安装目标 更改为 10 0 13 0 然后构建
  • Azure Devops yaml 部署管道显示不需要的消息/描述

    最近 我从传统的图形部署管道迁移到可重用的 yaml 构建和部署管道 yaml 构建管道正在交付在部署管道中使用的 多个 工件 运行部署管道 使用参数和设置 yaml 模板等时 我看到 当管道完成后 会有如下描述 由于部署管道与构建管道不在
  • 集成测试中访问内存dbcontext

    如何在集成测试中访问内存数据库的 dbcontext 我已经按照这里的代码进行操作 https learn microsoft com en us aspnet core test integration tests view aspnet
  • 将现有表上的 newid() 更改为 newsequentialid()

    目前 我们有许多表在主键上使用 newid 这导致了大量的碎片 所以我想更改该列以使用 newsequentialid 代替 我认为现有数据仍将保持相当分散 但新数据的分散程度将减少 这意味着我也许应该等待一段时间 然后再将 PK 索引从非
  • 如何从基类的实例创建派生类的实例并包含私有字段?

    我的问题有点与这个问题 https stackoverflow com questions 25163478 create an instance of derived class from the base class但更具体一点 我有一
  • Hibernate 的 org.hibernate.hql.ast.QuerySyntaxException

    我刚开始使用 Hibernate 和 Java 我收到以下异常 我在网上找到的有关此错误的内容似乎没有帮助 有任何想法吗 例外情况 java lang IllegalArgumentException org hibernate hql a
  • 从 DB2 转储 SQL

    我正在尝试将一台 IBM DB2 UDB 服务器中特定模式的内容转储到 sql 文本文件中 很像 mysql 的 mysqldump 功能 我遇到了 db2look 但它只转储模式的结构 只有 ddl 没有 dml 那么我怎样才能完成我的事
  • 从连接列创建虚拟矩阵[重复]

    这个问题在这里已经有答案了 我正在使用 R 并且我有一个如下所示的列 relative aunt mother grandmother sister mother 我想要的结果应该是这样的 mother sister aunt grandm
  • InstanceDouble(session) (匿名)> 收到意外消息 :[]= with

    我对 rspec 行为有疑问 我尝试为我使用的服务编写测试session 用于读取一些值并覆盖该值 例如我想测试什么 class CurrentCartService attr reader user session def initial
  • Android:CollapsingToolbarLayout 中的 MapView

    我目前正在尝试放置一个Map View 或包含地图的片段 内CollapsingToolbarLayout 我想在它上有视差效果RecyclerView卷轴 不幸的是 它根本没有出现 连灰色网格都没有 不过 折叠动画正在发挥作用 我到处寻找