android xml将组件置于顶部,layout_gravity =“center”

时间:2010-11-25 21:51:53

标签: android xml android-layout admob layout-gravity

我正在尝试将admob广告放在app的顶部,但普通文本需要保持在中间位置...使用下面的代码只会显示其中一个组件..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myapp="http://schemas.android.com/apk/res/test.testpkg"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="center"
    android:gravity="center"
    android:background="@drawable/background"
    android:padding = "10dip" >

    <com.admob.android.ads.AdView
        android:id="@+id/ad" 
        android:gravity="center"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        myapp:backgroundColor="#000000"
        myapp:primaryTextColor="#FFFFFF"
        myapp:secondaryTextColor="#CCCCCC" />

    <test.testpkg.CustomTextView android:id="@+id/landscapeText"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:textColor = "#000"
        android:textSize="40sp"
        android:shadowColor="#FFF"
        android:shadowDx="1.2"
        android:shadowDy="1.2"
        android:shadowRadius="1.2"
        android:gravity="center_vertical"
        android:text ="Test" />
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

LinearLayout还有一个额外的属性android:orientation (doc). 默认值为“水平”,但您需要“垂直”,因为此时CustomTextView会在AdView右侧和屏幕外呈现。

附加提示:如果你想让你的CustomTextView真正位于屏幕中间,你应该使用RelativeLayout而不是LinearLayout并添加attribut android:layout_centerInParent =“true” - &gt;显示在中间。