我设计了一个布局,我必须将admob放在页面底部。我无法设置页面的底部。我使用下面的代码。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="30dp"
android:orientation="vertical"
>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/train"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/atrd" />
<ImageView
android:id="@+id/fares"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/afrs" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="FindTrains" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:text="Fares" />
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_marginTop="5dp"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/route"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/arts" />
<ImageView
android:id="@+id/routemap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/artms" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Routes" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:text="Routemap" />
</TableRow>
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_marginTop="5dp"
android:layout_height="wrap_content" >
<ImageView
android:id="@+id/enqury"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/aeqs" />
<ImageView
android:id="@+id/information"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ainfs" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enqury" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Information"
android:paddingLeft="5dp"/>
</TableRow>
</TableLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<com.admob.android.ads.AdView
android:id="@+id/adview"
android:layout_width="fill_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>
任何人都可以告诉我我做错了什么。 提前谢谢。
答案 0 :(得分:2)
将RelativeLayout作为根布局,然后将LinearLayout(包含admob视图)设置为 android:layout_alignParentBottom =“true”,例如见:
<?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"
>
<LinearLayout
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/relativeAd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:gravity="center">
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adUnitId="@string/admob_id"
ads:adSize="BANNER"
ads:loadAdOnCreate="true"
/>
</LinearLayout>
<!-- other codes here -->
</RelativeLayout>
试试这个。
答案 1 :(得分:1)
您可以在xml的底部声明一个LinearLayout
并为其指定ID。接下来写这段代码
@Override
public void onCreate(Bundle savedInstanceState) {
// Create the adView
adView = new AdView(this, AdSize.BANNER, MY_AD_UNIT_ID);
// Lookup your LinearLayout assuming it’s been given
// the attribute android:id="@+id/mainLayout"
LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
// Add the adView to it
layout.addView(adView);
// Initiate a generic request to load it with an ad
adView.loadAd(new AdRequest());
}
@Override
public void onDestroy() {
adView.destroy();
super.onDestroy();
}
答案 2 :(得分:0)
您还可以在代码中使用android:layout_weight="1"
linearLayout1
属性。
喜欢这样:
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TableLayout
........
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<com.admob.android.ads.AdView
android:id="@+id/adview"
android:layout_width="fill_parent"
android:layout_height="match_parent" />
</LinearLayout>
这可以解决您的问题,而不会打扰您的代码。