在不覆盖其他视图的情况下展开TextView

时间:2012-03-31 10:18:49

标签: android android-layout

我正在尝试在android中实现一个布局,其中包含几个TextView和一些按钮。我想要其中一个TextView(这是我正在实现的游戏的日志)占用它所拥有的所有可用空间,并且如果要显示太多文本则可以滚动。但是,当它展开时,我似乎无法将它覆盖在它下面 - 而是停在屏幕的底部:

enter image description here

在此屏幕截图中,有一个“记分板”TextView,一个“手”TextView,一个“日志”TextView和一个带有几个按钮的LinearLayout。所有TextView都有动态长度,但前两个不应占用超过几行。麻烦的是,日志会扩展并覆盖它下面的按钮(在正面,它是可滚动的)。你能告诉我如何解决这个问题吗?

这是布局XML:

<?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="wrap_content" >

    <TextView
        android:id="@+id/scoreboard"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:text="Scoreboard" />

    <TextView
        android:id="@+id/handinfo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/scoreboard"
        android:text="Hand" />

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:layout_alignParentBottom="true" >

        <Button
            android:id="@+id/stay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="Stay" />

        <Button
            android:id="@+id/leave"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="Leave" />

        <Button
            android:id="@+id/pay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="Pay" />

        <Button
            android:id="@+id/payWithWild"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="Pay Wild" />

        <Button
            android:id="@+id/dontPay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="Don&apos;t Pay" />
    </LinearLayout>

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/handinfo" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/log"
            android:text="" />

    </ScrollView>



</RelativeLayout>

1 个答案:

答案 0 :(得分:4)

将以下属性添加到ScrollView,它应该修复显示:

android:layout_below="@id/handinfo"
android:layout_above="@id/linearLayout1"