在底部定位但alignParentBottom = true没有任何效果

时间:2014-01-19 22:52:59

标签: android xml admob

我正在开发一个Android应用程序,我正在制作一个有一系列edittexts的布局,还包含admob提供的广告。

对于广告,我希望它固定在屏幕的底部,但是,它保持浮动在中间,就在主要内容的底部下方。

在admob adview上,我放了alignParentBottom=true,但它似乎没有用。

以下是XML的副本

<?xml version="1.0" encoding="utf-8"?>
<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <EditText android:id="@+id/newDB_txtConnectionName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Database Connection Name"
        android:singleLine="true"
        android:inputType="textNoSuggestions" />
    <EditText android:id="@+id/newDB_txtServer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Server"
        android:singleLine="true"
        android:inputType="textNoSuggestions" />
    <EditText android:id="@+id/newDB_txtUsername"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Username"
        android:singleLine="true"
        android:inputType="textNoSuggestions" />
    <EditText android:id="@+id/newDB_txtPassword"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Password"
        android:password="true"
        android:singleLine="true"
        android:inputType="textNoSuggestions" />
    <EditText android:id="@+id/newDB_txtDatabase"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Database"
        android:singleLine="true"
        android:inputType="textNoSuggestions" />
    <EditText android:id="@+id/newDB_txtPort"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:maxLength="4"
        android:hint="Port"
        android:text="3306"
        android:singleLine="true"
        android:inputType="textNoSuggestions"/>
    <TextView
        android:layout_marginTop="10dp"
        android:layout_margin="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_gravity="center_horizontal"
        android:text="Leave database blank to connect to any database on this server" />
    <LinearLayout android:id="@+id/buttonContainer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        style="?android:attr/buttonBarStyle"
        android:layout_alignParentBottom="true">
        <Button android:id="@+id/newDB_btnTest"
            android:layout_width="0dp" 
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Test Connection"
            style="?android:attr/buttonBarButtonStyle" />
        <Button android:id="@+id/newDB_btnCreate"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Create"
            android:enabled="false"
            style="?android:attr/buttonBarButtonStyle" />
    </LinearLayout>
        <com.google.android.gms.ads.AdView android:id="@+id/adView"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             ads:adUnitId="MY_PUBLISHER_ID"
             ads:adSize="BANNER"
             android:layout_alignParentBottom="true"/>
</LinearLayout>
</ScrollView>

感谢您提供的任何帮助。

2 个答案:

答案 0 :(得分:1)

alignParentBottom在LinearLayout中无效,如果要使用该标志,请使用RelativeLayout

答案 1 :(得分:0)

如果你想使用LinearLayout,那么你需要通过tel来扩展以填充未使用的空间。您可以通过提供要扩展的项目 layout_weight =“1”来实现。例如

<?xml version="1.0" encoding="utf-8"?>
<ScrollView  xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <EditText android:id="@+id/newDB_txtConnectionName"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Database Connection Name"
        android:singleLine="true"
        android:inputType="textNoSuggestions" />
    < lots more EditTexts />
    <LinearLayout android:id="@+id/buttonContainer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        style="?android:attr/buttonBarStyle"
        **android:layout_weight="1"**>
        <Some Buttons/>
    </LinearLayout>
        <com.google.android.gms.ads.AdView android:id="@+id/adView"
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="center"
             ads:adUnitId="MY_PUBLISHER_ID"
             ads:adSize="BANNER"
</LinearLayout>
</ScrollView>