相对布局,Textview没有显示

时间:2011-06-14 16:56:00

标签: android android-layout textview

我使用此XML在底部显示我的Button,在顶部显示一个TextView,在中间显示一个TextView。中间文本视图涵盖了按钮和顶部textview之间的整个范围。中间TextView根本没有显示。有什么问题?

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView 
        android:id="@+id/task"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks"
        />
    <Button 
        android:id="@+id/btnAddTask"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/AddTasks"
        android:layout_alignParentBottom="true" 
        />
    <TextView 
        android:id="@+id/TasksList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks" 
        android:layout_above="@id/task"
        android:layout_below="@id/btnAddTask"
        />
</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

您的问题肯定是您的按钮下面有TasksList TextView。交换layout_above和layout_below值。这对我有用:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView 
        android:id="@+id/task"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks"
        />
    <Button 
        android:id="@+id/btnAddTask"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/AddTasks"
        android:layout_alignParentBottom="true" 
        />
    <TextView 
        android:id="@+id/TasksList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks" 
        android:layout_above="@id/btnAddTask"
        android:layout_below="@id/task"
        />
</RelativeLayout>

答案 1 :(得分:1)

你如何制定这个问题肯定有问题。

你有按钮,alignParentBottom="true" ...然后对于TasksList TextView,它被设置在按钮下面......基本上在屏幕之外。

您可以从RelativeLayout移除方向...相对布局没有像LinearLayout那样的方向。

正如你所描述的......我不是100%你可以用Relative Layout做到这一点。如果你只想在顶部放置一个东西,一个居中,另一个放在底部,最好为每个放置一个参数,centerInParentalignParentTopalignParentBottom。< / p>

如果你重新考虑LinearLayout(正如我猜你开始的那样),你会坚持使用垂直方向,然后给它们layout_weight 0,1和0,确保高度为设置为wrap_content。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView 
        android:id="@+id/task"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:layout_weight="0" 
        />
    <TextView 
        android:id="@+id/TasksList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks" 
        android:layout_weight="1" 
        />
    <Button 
        android:id="@+id/btnAddTask"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/AddTasks"
        android:layout_weight="0"
        />
</LinearLayout>

答案 2 :(得分:1)

问题是你颠倒了上面的布局和下面的布局: 尝试

android:layout_below="@id/task"
android:layout_above="@id/btnAddTask"

见截图。

这是完整的布局。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView 
        android:id="@+id/task"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks"
        />
    <Button 
        android:id="@+id/btnAddTask"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/AddTasks"
        android:layout_alignParentBottom="true" 
        />
    <TextView 
        android:id="@+id/TasksList"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:text="@string/tasks" 
        android:layout_below="@id/task"
        android:layout_above="@id/btnAddTask"
        />
</RelativeLayout>

enter image description here