我尝试在Android Studio中为Google Map V2编写测试演示。我遵循Androidhive Google Map 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>
但我总是遇到相同的渲染问题:
渲染问题
<fragment>
标记允许布局文件在运行时动态地包含不同的布局。在布局编辑时,要使用的特定布局是未知的。您可以在编辑布局时选择要预览的布局...
我完全不知道问题是什么。我忘记了什么吗? 我只需要在build.gradle中添加Google服务,例如
compile 'com.google.android.gms:play-services:4.4.52'
我从演示中复制了清单并更改了API密钥。
答案 0 :(得分:71)
接受的答案没错,但没有用。
正如Dan所写,Android Studio(也是1.0版)不会显示地图 地图需要API密钥和动态处理代码,也许有一天我们会有,但到目前为止还没有 对于那些想要在布局预览中正确查看其应用的人,我有一个5分钟的解决方案:
为了正确发展我还需要别的东西而不是空白的背景
我在地图上添加了叠加和按钮,我真的需要在将元素放在上面时看到地图
解决方案很简单:
1.在地图运行时(Power + Volume Down)制作应用的屏幕截图
2.下载屏幕截图并使用图像编辑器删除顶部和底部UI元素,这样您最终只能将地图本身作为图像。
3.将该图像导入android studio drawables
4.创建一个新的布局,将其命名为dummy_mapviewfragment
,只将一个linearlayout和一个imageview放入
5.制作图像视图&#34;填充&#34;父母,并设置&#34; src&#34;到刚刚导入的裁剪图像
6.回到你的布局,将它添加到你的Mapview Fragment xml:
tools:layout="@layout/dummy_mapviewfragment"/>
那就是它,现在你将有一个非交互式mapview片段,显示一个真实的地图 您的应用看起来就像在手机上看起来一样。 如果你在图像裁剪中出错,你可以修复&#34;通过将图像比例设置为&#34; centerCrop&#34;所以它会适当伸展。
更新:您无需直接在Androidstudio中裁剪即可获得截图!使它更方便;)
答案 1 :(得分:46)
渲染问题
标记<fragment>
允许布局文件在运行时动态地包含不同的布局。在布局编辑时,要使用的特定布局是未知的。您可以在编辑布局时选择要预览的布局...
这只是预览窗口,告诉您它无法显示<Fragment.../>
标记的预览,因为它不知道您要将哪种片段放入其中。您可以放心地忽略该消息 - 您的实际应用程序将在您运行它时将片段渲染得很好(只要您正确编码它!)。
答案 2 :(得分:0)
将虚拟布局“@android:layout / simple_gallery_item”添加为:
<fragment
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="317dp"
android:layout_height="385dp"
android:id="@+id/map"
tools:context="com.example.XYZ.googlemaps.MapsActivity"
android:name="com.google.android.gms.maps.SupportMapFragment"
tools:layout="@android:layout/simple_gallery_item"/>
答案 3 :(得分:0)
Android Studio会在错误说明中自动提供解决方案,该解决方案会添加片段布局的名称。
tools:layout =“ @ layout / fragment_my”