Android - 在XML中设置元素的重力

时间:2013-04-10 13:58:20

标签: android layout center gravity

这是XML代码:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
    android:layout_height="wrap_content">

<RelativeLayout
        android:id="@+id/relative_layout_main"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >

    <com.adsdk.sdk.banner.AdView
        android:id="@+id/ad_1"
        android:layout_width="300dp"
        android:background="#000000"
        android:layout_height="50dp"
        request_url="http://my.mobfox.com/request.php"
        publisherId="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        location="true"
        animation="true" />

    <TextView
        android:textIsSelectable="true"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:textStyle="bold"
        android:id="@+id/error_view_2"
        android:layout_marginTop="20dp"
    android:layout_below="@id/ad_1"
        android:text="@string/gen_mess_err" />    

    <TextView
        android:textIsSelectable="true"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:layout_below="@id/error_view_2"
        android:id="@+id/error_view_1" />

    <com.adsdk.sdk.banner.AdView
        android:id="@+id/ad_2"
        android:layout_width="300dp"
        android:background="#000000"
        android:layout_height="50dp"
        request_url="http://my.mobfox.com/request.php"
        publisherId="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:layout_below="@id/error_view_1"
        android:gravity="bottom"
        location="true"
        animation="true" />

</RelativeLayout>

我想要的是将广告设置在屏幕的顶部,一个设置在屏幕的底部,以及屏幕中央的文本视图,但这不起作用。我该怎么办?

提前谢谢:)

3 个答案:

答案 0 :(得分:1)

为什么layout_height的{​​{1}}属性设置为ScrollView?它应该是wrap_content以填充屏幕,以便将广告放在顶部和底部。

此外,属性match_parent已过时,fill_parent是其新值:)

答案 1 :(得分:1)

将您的XML代码更改为此

android:fillViewport must be set to true - 设置为true时,如果需要,此属性会使滚动视图的子项扩展到ScrollView的高度。当孩子比ScrollView高时,该属性无效。

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true" >
<RelativeLayout
    android:id="@+id/relative_layout_main"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
    <com.adsdk.sdk.banner.AdView
        android:id="@+id/ad_1"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        animation="true"
        location="true"
        publisherId="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        request_url="http://my.mobfox.com/request.php"
        android:background="#000000"
        android:gravity="center" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:orientation="vertical" >
        <TextView
            android:id="@+id/error_view_2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:gravity="center"
            android:text="@string/gen_mess_err"
            android:textIsSelectable="true"
            android:textStyle="bold" />
        <TextView
            android:id="@+id/error_view_1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:textIsSelectable="true" />
    </LinearLayout>
    <com.adsdk.sdk.banner.AdView
        android:id="@+id/ad_2"
        android:layout_width="300dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_below="@id/error_view_1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        animation="true"
        location="true"
        publisherId="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        request_url="http://my.mobfox.com/request.php"
        android:background="#000000"
        android:gravity="bottom" />
</RelativeLayout>

答案 2 :(得分:0)

你的

<?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"
    >
    <com.adsdk.sdk.banner.AdView
            android:id="@+id/ad_1"
            android:layout_width="fill_parent"
            android:background="#000000"
            android:layout_height="wrap_content"
            request_url="http://my.mobfox.com/request.php"
            publisherId="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            android:layout_centerHorizontal="true"
            android:gravity="center"
            location="true"
            animation="true"  />

    <ScrollView
            android:id="@+id/relative_layout_main"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            >

    <TextView
            android:textIsSelectable="true"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:textStyle="bold"
            android:id="@+id/error_view_2"
            android:layout_marginTop="20dp"
            android:text="string/gen_mess_err" />

    <TextView
            android:textIsSelectable="true"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center"
            android:id="@+id/error_view_1" />
    </ScrollView>

    <com.adsdk.sdk.banner.AdView
            android:id="@+id/ad_2"
            android:layout_width="fill_parent"
            android:background="#000000"
            android:layout_height="wrap_content"
            request_url="http://my.mobfox.com/request.php"
            publisherId="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
            android:layout_marginTop="-51dp"
            android:gravity="bottom"
            location="true"
            animation="true"
            />

希望得到它的帮助。