6

我在 main.xml 中有 TitlePageIndicator 和 ViewPager,我想在 RelativeLayout 的底部添加 admob(直接进入 LinearLayout)。我怎样才能做到这一点?

当我启动它时,日志没有说明错误(因为没有放置admob的地方),但是admob是不可见的,我看不到它。(看起来 admob 在屏幕之外,因为我尝试将特定尺寸设置为 ViewPager 并且效果很好)我不想为 ViewPager 设置特定尺寸(因为屏幕尺寸不同)谢谢。

我的 main.xml 是:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <com.viewpagerindicator.TitlePageIndicator
        android:id="@+id/indicator"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"/>   
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/indicator"/>
    <LinearLayout 
        android:id="@+id/for_ads"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/viewpager"/>
</RelativeLayout>

UPD。解决了我使用了这个答案,它对我来说很完美

4

1 回答 1

19

首先,如果你想引用它,你的 RelativeLayout 需要一个 ID:

RelativeLayout rLayout = (RelativeLayout)findViewById(R.id.yourRelativeId);

然后为对象(在本例中为您的 admob adview)创建一些 LayoutParams,告诉它将自身与底部对齐(并且不与任何其他视图对齐,这样它就不会被推到屏幕外或被其他视图移动):

 RelativeLayout.LayoutParams rLParams = 
    new RelativeLayout.LayoutParams(
    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
    rLParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, 1);

接下来,使用 LayoutParams 将视图添加到 RelativeLayout:

rLayout.addView(yourAdView, rLParams);
于 2012-06-13T15:42:55.873 回答