我正在尝试在代码中设置视图的宽度和高度,以显示我正在处理的免费应用的广告.除了此广告之外,所有UI都以XML格式完成.以下是显示广告的代码.它在onCreate
.
AdView adView = new AdView(this,"ad_url","my_ad_key",true,true);
LinearLayout layout = (LinearLayout) findViewById(R.id.testing);
adView.setAdListener(this);
layout.addView(adView);
Run Code Online (Sandbox Code Playgroud)
这会导致广告显示如下.正如您所看到的,宽度并不完全填满整个页面.
现在,当我将代码更改为此尝试设置大小时:
AdView adView = new AdView(this,"ad_url","my_ad_key",true,true);
LinearLayout layout = (LinearLayout) findViewById(R.id.testing);
adView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
adView.setAdListener(this);
layout.addView(adView);
Run Code Online (Sandbox Code Playgroud)
我明白了:
我尝试了所有不同的组合,FILL_PARENT
并且WRAP_CONTENT
所有组合都具有相同的结果.有什么我想念的吗?或者另一种方法,我可以让广告填充设备的宽度而不填充高度?非常感谢任何建议和帮助.
编辑当我尝试将其放入XML时我得到一个例外:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:id="@+id/main_layout">
<fragment
android:name="com.jasoncrosby.app.tipcalculatorfree.MainButtonFragment"
android:id="@+id/button_frag"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<com.adsdk.sdk.banner.AdView
android:id="@+id/banner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
> 09-09 22:39:43.448: E/AndroidRuntime(586): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jasoncrosby.app.tipcalculatorfree/com.jasoncrosby.app.tipcalculatorfree.MainActivity}: android.view.InflateException: Binary XML file line #14: Error inflating class com.adsdk.sdk.banner.AdView
09-09 22:39:43.448: E/AndroidRuntime(586): at …
Run Code Online (Sandbox Code Playgroud)