Подтвердить что ты не робот

Удаление фрагмента веб-сайта Android Studio Google Map

Я попытался написать тестовую демонстрацию для Google Map V2 в Android Studio. Я следовал за каждым шагом от 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> позволяет файлу макета динамически включать различные макеты во время выполнения. Во время редактирования макета конкретный макет, который будет использоваться, неизвестен. Вы можете выбрать, какой макет вы хотите просмотреть во время редактирования макета...

Я не знаю, в чем проблема. Я что-то забыл? Мне просто нужно добавить сервисы Google в build.gradle, например

compile 'com.google.android.gms:play-services:4.4.52'

Я скопировал манифест из демонстрации и изменил ключ API.

4b9b3361

Ответ 1

Проблемы рендеринга
Тег <fragment> позволяет файлу макета динамически включать различные макеты во время выполнения. Во время редактирования макета конкретный макет, который будет использоваться, неизвестен. Вы можете выбрать, какой макет вы хотите просмотреть во время редактирования макета...

Это только окно предварительного просмотра, в котором сообщается, что он не может отображать предварительный просмотр тега <Fragment.../>, потому что он не знает, какой фрагмент вы собираетесь вставить в него. Вы можете смело проигнорировать это сообщение - ваше фактическое приложение отлично отобразит фрагмент при его запуске (если вы правильно его правильно!).

Ответ 2

Принятый ответ не является неправильным, но это не помогает.

Как писал Дэн, Android Studio (также версия 1.0) не отображает карту.
Картам необходим ключ API и динамический обработанный код, возможно, когда-нибудь у нас будет это, но пока нет.
У меня есть 5-минутное решение для тех, кто хочет правильно видеть свое приложение в предварительном просмотре макета: enter image description here

Чтобы правильно развиваться, мне все еще нужно было что-то еще, кроме пустого фона.
Я добавил наложения и кнопки поверх карты, мне действительно нужно было увидеть карту, размещая элементы над ней.
Решение прост:
 1. Сделайте снимок экрана вашего приложения с помощью карты (Power + Volume Down)
 2. Загрузите скриншот и используйте редактор изображений, чтобы удалить верхний и нижний элементы пользовательского интерфейса, поэтому в итоге вы получите только карту в качестве изображения.
 3. Импортируйте это изображение в чертежи студии Android  4. создайте новый макет, назовите его dummy_mapviewfragment, поместите только linearlayout и изображение в
 5. заставьте образ "заполнить" родительский элемент и установите "src" на обрезанное изображение, которое вы только что импортировали.  6. Вернитесь к своему макету, добавьте это в свой фрагмент изображения xml:

 tools:layout="@layout/dummy_mapviewfragment"/>

Чтобы это, теперь у вас будет неинтерактивный фрагмент карты, который отображает реальную карту.
Ваше приложение будет выглядеть так, как будто оно выглядит на вашем мобильном телефоне. Если вы сделали ошибки в обрезке изображения, вы можете "исправить" его, установив масштаб изображения на "centerCrop", чтобы он правильно растягивался.

Обновление: вы можете получить скриншот без необходимости обрезать прямо из Androidstudio! Делает это немного более удобным;)

Ответ 3

Добавьте фиктивный макет "@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"/>

Ответ 4

Android Studio автоматически предлагает решение в описании ошибки, которое заключается в добавлении имени макета фрагмента.

инструменты: макет = "@макет/fragment_my"