我是广告新手,并且能够使用我的布局中的以下代码在我的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以及订单和导出等)。 请建议。提前谢谢。
答案 0 :(得分:1)
我认为你只能将样式资源用于与样式相关的属性,如果你想 factorize 你应该使用字符串资源,如
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="admob_id">XXX</string>
</resources>