Android Studio Google Map V2片段渲染

use*_*544 38 android google-maps android-layout android-studio

我试着在Android Studio中为Google Map V2编写测试演示.我从Androidhive谷歌地图V2或更好的每一步,我认为我需要.

我使用相同的layout_main.xml

<?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" >

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.MapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

但我总是得到相同的渲染问题:

呈现问题
一个<fragment>标签允许布局文件,以动态地包括在运行时不同的布局.在布局编辑时,要使用的特定布局是未知的.您可以在编辑布局时选择要预览的布局...

我完全不知道问题是什么.我忘记了什么吗?我只需要在build.gradle中添加Google服务

compile 'com.google.android.gms:play-services:4.4.52'
Run Code Online (Sandbox Code Playgroud)

我从演示中复制了清单并更改了API密钥.

Joh*_*ohn 71

接受的答案没错,但没有用.

正如Dan所写,Android Studio(也是1.0版)将不会显示地图.
地图需要一个API密钥和动态处理的代码,也许有一天我们会有,但到目前为止还没有.
对于那些想要在布局预览中正确查看其应用的人,我有一个5分钟的解决方案: 在此输入图像描述

为了正确发展我还需要别的东西而不是空白的背景.
我在地图上添加了叠加和按钮,我真的需要在将元素放在上面时看到地图.
解决方案很简单:
1.在运行地图的情况下制作应用程序的屏幕截图(Power + Volume Down)
2.下载屏幕截图并使用图像编辑器删除顶部和底部UI元素,这样您最终只能使用将自己映射为图像.
3.将该图像导入android studio drawables
4.创建一个新的布局,命名它dummy_mapviewfragment,只放置一个linearlayout和一个imageview
5.使imageview"填充"父级,并将"src"设置为刚导入的裁剪图像
6.回到你的布局,将其添加到你的Mapview Fragment xml中:

 tools:layout="@layout/dummy_mapviewfragment"/>
Run Code Online (Sandbox Code Playgroud)

就是这样,现在你将拥有一个显示真实地图的非交互式mapview片段.
您的应用看起来就像在手机上看起来一样.如果您在图像裁剪中出错,可以通过将图像比例设置为"centerCrop"来"修复"它,以便它可以正确拉伸.

更新:您无需直接在Androidstudio中裁剪即可获得截图!使它更方便;)

  • 这是问题的正确解决方案 (4认同)

小智 47

渲染问题
标记<fragment>允许布局文件在运行时动态地包含不同的布局.在布局编辑时,要使用的特定布局是未知的.您可以在编辑布局时选择要预览的布局...

这只是预览窗口,告诉您它无法显示<Fragment.../>标记的预览,因为它不知道您要将哪种片段放入其中.您可以放心地忽略该消息 - 您的实际应用程序将在您运行它时呈现片段(只要您正确编码它!).