我想在我的应用程序中添加广告。我设置了广告布局大小。但问题是当我在设备中运行此应用程序时,广告布局大小会根据设备高度的增加而减少或增加。
我的屏幕上有多个布局,所以我给了重量属性,但重量有时会增加或减少。
这是我的xml布局,我在其中设置了广告的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/main_background"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="0.09">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/spinner_bg_color"
android:layout_marginTop="5dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Spinner>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<ListView
android:id="@+id/lst_player"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/main_background"
android:layout_weight="0.65">
<FrameLayout
android:id="@+id/adbar"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</FrameLayout>
</LinearLayout>
</LinearLayout>
广告加载完美,但问题是布局高度。
如何为我的活动有多个或两个布局的广告设置布局高度?
请帮我解决这个问题。
答案 0 :(得分:0)
从上一个内部FrameLayout
移除LinearLayout
,并指定宽度match_parent
和高度wrap_content
。我假设您以编程方式将广告添加到adbar,因此请不要忘记将Adview设置为SMART_BANNER。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/main_background"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/spinner_bg_color"
android:layout_marginTop="5dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Spinner>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="10dp">
<ListView
android:id="@+id/lst_player"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<FrameLayout
android:id="@+id/adbar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</FrameLayout>
</LinearLayout>
希望它有所帮助!!
答案 1 :(得分:0)
无法将此添加为评论。所以发布它作为答案。您的布局存在逻辑问题。你的布局高度是正确的吗?因此,在加权高度的情况下,您需要设置android:layout_height =“0dp”,以便权重完美生效。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/main_background"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:orientation="vertical"
android:layout_weight="0.09">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@color/spinner_bg_color"
android:layout_marginTop="5dp">
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Spinner>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp">
<ListView
android:id="@+id/lst_player"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:background="@color/main_background"
android:layout_weight="0.65">
<FrameLayout
android:id="@+id/adbar"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</FrameLayout>
</LinearLayout>
</LinearLayout>