如何设置layout_Above有2个值?

时间:2011-06-03 22:06:23

标签: android android-layout relativelayout android-xml

现在,我的布局看起来像下面两张图片中的一张,具体取决于屏幕的确切尺寸。 Bot那一个,玩游戏!按钮位于顶部,另一方面,版权文本位于顶部。

enter image description here enter image description here

我要做的是在广告视图和顶部文本框/布局的较高位置之间放置图像。根据不同的屏幕尺寸,顶部的条目可能会有所不同。我想完全没有这个问题...我知道如何把它放在imageview下面,但不要把它放在这两个项目之上。

到目前为止,我已经尝试了一个包含底部变量的relativeLayout,并告诉图像在其上方,但在AdView下方。问题是,RelativeView的顶部清除到顶部,尽管它被设置为wrap_content并且下面的值都没有达到那么高。

我还考虑将文本的顶部对齐到按钮的顶部,反之亦然,但我在脑海中看到了一个可能很难看的界面,其中顶部按钮可能更大,或者部分版权文字模糊不清。

所以,我正在寻找两种解决方案中的一种。一种告诉我的图像高于2个项目,按钮和文本的方法,或者某种方式来包装上下文,使得我可以高于包装的值。

这是我测试过的相关XML代码。

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent" 
  android:orientation="vertical">
  <com.google.ads.AdView android:id="@+id/adView" ads:loadAdOnCreate="true" ads:adSize="BANNER" ads:adUnitId="@string/admob_unit_id" android:layout_width="wrap_content" android:layout_height="wrap_content" ></com.google.ads.AdView>
  <ImageView android:src="@drawable/start_logo" android:gravity="center" android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/logo_view" android:layout_below="@+id/adView" android:layout_above="@+id/buttons_copyright"></ImageView>
  <RelativeLayout android:id="@+id/buttons_copyright" android:layout_width="fill_parent" android:layout_alignParentLeft="true" android:layout_alignParentBottom="true"  android:layout_alignParentTop="false" android:layout_height="wrap_content">
   (NOTE: LOTS OF STUFF GOES HERE)
  </RelativeLayout>
</RelativeLayout>

1 个答案:

答案 0 :(得分:4)

我做了一个适合你的布局 - 它看起来像这样: 编辑:尝试一下......

enter image description here

使用此布局(将顶部按钮替换为您的广告) (自上次编辑后改变了一点,使用花药相对布局......)

<?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">
    <Button
        android:text="Button"
        android:id="@+id/button1"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"></Button>
    <TextView
        android:text="Version Text"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_alignBaseline="@+id/instructions_button"
        android:layout_toLeftOf="@+id/instructions_button"
        android:layout_marginLeft="5dp" />
    <Button
        android:id="@+id/instructions_button"
        android:layout_width="wrap_content"
        android:text="Instructions"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:minWidth="100dp"
        android:layout_alignParentBottom="true" />
    <TextView
        android:text="Game Name Text"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_alignBaseline="@+id/scores_button"
        android:layout_toLeftOf="@+id/scores_button"
        android:layout_marginLeft="5dp" />
    <Button
        android:id="@+id/scores_button"
        android:layout_width="wrap_content"
        android:text="High Scores"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:minWidth="100dp"
        android:layout_above="@+id/instructions_button" />
    <RelativeLayout
        android:id="@+id/copyright_layout"
        android:layout_above="@+id/scores_button"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent">
        <TextView
            android:text="Copyright text goes here and goes on and on a bit and fills up a few lines and looks ok generally and keeps on going and going and going and going onto many lines longer thatn it should etct"
            android:textSize="10sp"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:layout_alignTop="@+id/play_button"
            android:layout_toLeftOf="@+id/play_button"
            android:layout_marginLeft="5dp" />
        <Button
            android:id="@+id/play_button"
            android:layout_width="wrap_content"
            android:text="Play Game!"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:minWidth="100dp"
            android:layout_above="@+id/scores_button" />
    </RelativeLayout>
    <ImageView
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:id="@+id/imageView1"
        android:layout_margin="5dp"
        android:layout_above="@+id/copyright_layout"
        android:layout_below="@+id/button1"
        android:src="@drawable/map"
        android:scaleType="centerCrop" />
</RelativeLayout>