styles.xml中com.google.ads命名空间的属性/标记

时间:2013-04-13 00:01:30

标签: android admob

我是广告新手,并且能够使用我的布局中的以下代码在我的Android应用中成功添加我的第一个广告。

mylayout.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
                android:layout_width="match_parent"
                android:layout_height="match_parent" >

<com.google.ads.AdView 
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    ads:adUnitId="xxx"
    ads:adSize="BANNER"
    ads:loadAdOnCreate="true"/>

由于我的应用中有多个布局,因此我将常用的AdView属性(例如adSize,adUnitId等)移至styles.xml以减少代码大小。但是,在这个改变之后,我遇到了像 error: Error: No resource found that matches the given name: attr 'ads:adUnitId'. error: Error: No resource found that matches the given name: attr 'ads:adSize'. error: Error: No resource found that matches the given name: attr 'ads:loadAdOnCreate'.

styles.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android"
           xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" >

    <style name="MyAdView">
        <item name="android:layout_width">fill_parent</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="ads:adSize">BANNER</item>
        <item name="ads:adUnitId">xxx</item>
        <item name="ads:loadAdOnCreate">true</item>
    </style>

</resources>

我对 android :xxx标签没有问题,问题似乎只有广告:xxx。我还应该做些什么来使用com.google.ads名称空间。 因为当我在布局中有代码时一切正常,我想我已经拥有了在我的应用程序中添加广告所需的一切(AdMob SDK,构建路径中的admob lib以及订单和导出等)。 请建议。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为你只能将样式资源用于与样式相关的属性,如果你想 factorize 你应该使用字符串资源,如

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="admob_id">XXX</string>
</resources>