无法使用Google Map XML属性

时间:2013-11-10 22:32:28

标签: android xml google-maps

我正在使用Google Maps API,我正在尝试以XML格式配置Google地图的初始状态。

整个XML代码:

<FrameLayout 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=".MainActivity" >

<ImageView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/test_bg"
android:scaleType="centerCrop"/>

<RelativeLayout 
   android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/transparent" >    


<RelativeLayout 
    android:id="@+id/navigation_top"
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_marginBottom="5dp" >

    <!-- android:src="@drawable/button_back_src"    android:background="@drawable/button_background"
    android:background="@drawable/test_btn_background"-->
    <ImageButton 
        android:id="@+id/button_back"
        android:layout_width="58dp"
        android:layout_height="58dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="@string/desc_top_button_back"

        android:background="@drawable/btn_back"
        android:scaleType="fitXY"
        android:layout_marginRight="0dp"
        android:layout_marginLeft="@dimen/standard_margin"  
        android:layout_marginTop="@dimen/standard_margin"
        android:layout_marginBottom="0dp"
          />


    <!-- android:background="@drawable/button_background" android:background="@drawable/test_btn_background" android:src="@drawable/button_options_src"-->
    <ImageButton 
        android:id="@+id/button_options"
        android:layout_width="58dp"
        android:layout_height="58dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"

        android:contentDescription="@string/desc_top_button_options"
        android:background="@drawable/btn_options"
        android:scaleType="fitXY"
        android:layout_marginRight="@dimen/standard_margin"
        android:layout_marginLeft="0dp"  
        android:layout_marginTop="@dimen/standard_margin"
        android:layout_marginBottom="0dp" />


    <!-- background, android:dropDownSelector="@drawable/spinner_selector_small"  -->
    <Spinner 
        android:id="@+id/spinner"
        android:layout_height="58dp"
        android:layout_width="wrap_content"
        android:layout_toLeftOf="@+id/button_options"
        android:layout_toRightOf="@+id/button_back"
        android:spinnerStyle="@android:style/Widget.Spinner.DropDown"
        android:background="@drawable/test_spinner_style"   
        android:padding="5dp"
        android:layout_marginRight="0dp"
        android:layout_marginLeft="0dp"  
        android:layout_marginTop="5dp"
        android:layout_marginBottom="0dp" />

</RelativeLayout>

    <LinearLayout 
        android:id="@+id/layout_checkpoints"

        android:minHeight="24dp"
        android:layout_below="@+id/navigation_top"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:background="@android:color/transparent">

    </LinearLayout>

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignTop="@+id/layout_checkpoints"
    android:layout_centerHorizontal="true"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_marginLeft="@dimen/double_margin"
    android:layout_marginRight="@dimen/double_margin"
    android:layout_marginBottom="68dp" />

<LinearLayout
    android:id="@+id/rounded_corners_for_map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignBottom="@+id/map"
    android:layout_alignLeft="@+id/map"
    android:layout_alignRight="@+id/map"
    android:layout_below="@+id/navigation_top"
    android:background="@drawable/round_corners"
    android:orientation="horizontal" >

</LinearLayout>

<ImageView 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:scaleType="fitXY" 
    android:src="@drawable/splash" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:id="@+id/splash_screen" 
    android:layout_alignParentBottom="true"/>

如您所见,我添加了

xmlns:map="http://schemas.android.com/apk/res-auto"

开头的FramLayout。但是,当我尝试使用地图前缀时,它不会让我。

我试图这样做:

<fragment
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignTop="@+id/layout_checkpoints"
    android:layout_centerHorizontal="true"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_marginLeft="@dimen/double_margin"
    android:layout_marginRight="@dimen/double_margin"
    android:layout_marginBottom="68dp"
    map:uiZoomControls="false" />

但它强调了地图:uiZoomControls =“false”并说出了意外的命名空间前缀“map”等。

知道我做错了什么吗?

1 个答案:

答案 0 :(得分:3)

我想你只需要尝试这个:

<fragment
xmlns:map="http://schemas.android.com/apk/res-auto"
map:uiZoomControls="false"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignTop="@+id/layout_checkpoints"
android:layout_centerHorizontal="true"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_marginLeft="@dimen/double_margin"
android:layout_marginRight="@dimen/double_margin"
android:layout_marginBottom="68dp"
 />

其他想法:

  • 在片段中添加工具:ignore =“MissingPrefix”
  • 请注意,您已将依赖项添加到项目中的Google Play服务中 (项目 - &gt;属性 - &gt; Android - &gt;库,添加 - &gt; google-play-services_lib)