使用“fill_parent”时RelativeLayout出现问题

时间:2011-02-25 10:52:02

标签: android

我有一个布局(使用TableLayout等等),效果很好。看起来像这样: http://i.stack.imgur.com/jLFhA.png

我想用一个RelativeLayout重写它:

<?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"  android:padding="6dip">

<TextView android:id="@+id/textViewTopicTitle"      
android:layout_width="fill_parent" android:layout_height="wrap_content"         android:text="Title" android:background="#880000"></TextView>   

<TextView android:id="@+id/textViewSolution"        
android:layout_width="wrap_content" android:layout_height="wrap_content"        android:layout_below="@id/textViewTopicTitle" android:text="Description...."        android:background="#008800"></TextView>    

<Button android:text="Start" android:id="@+id/buttonTopic"      android:layout_width="wrap_content" android:layout_height="wrap_content"        android:layout_toRightOf="@id/textViewSolution" android:layout_below="@id/textViewTopicTitle"       
android:layout_marginRight="6dip">
</Button> 

</RelativeLayout>

这是不正确的,因为绿色TextView不会填充尽可能多的空间。

所以我改变了: android:id =“@ + id / textViewSolution”android:layout_width =“ fill_parent

但在这种情况下,按钮丢失了!

http://i.stack.imgur.com/ugzeq.png

我的问题是:是否可以仅使用RelativeLayout创建此类布局?

3 个答案:

答案 0 :(得分:1)

试试这段代码....它的作品

<?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"
    android:padding="6dip">

    <TextView android:id="@+id/textViewTopicTitle"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:text="Title" android:background="#880000"></TextView>
    <TextView android:id="@+id/textViewSolution"
        android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingRight="160dip"
        android:layout_below="@id/textViewTopicTitle" android:text="Description...."
        android:background="#008800"></TextView>
    <Button android:text="Start" android:id="@+id/buttonTopic"
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:layout_toRightOf="@id/textViewSolution" android:layout_below="@id/textViewTopicTitle"
        android:layout_marginRight="6dip"></Button>
</RelativeLayout>

答案 1 :(得分:1)

尝试以下代码

<?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" 
android:padding="6dip"> 

<TextView android:id="@+id/textViewTopicTitle" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="Title" 
android:background="#880000"></TextView> 

<Button android:text="Start" 
android:id="@+id/buttonTopic" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_alignParentRight="true"
android:layout_below="@id/textViewTopicTitle" 
android:layout_marginRight="6dip"> 
</Button> 

<TextView android:id="@+id/textViewSolution" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"
android:layout_below="@id/textViewTopicTitle" 
android:layout_toLeftOf="@+id/buttonTopic"
android:text="Description...." 
android:background="#008800"></TextView> 
</RelativeLayout> 

答案 2 :(得分:0)

尝试下面的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="fill_parent"
    android:padding="6dip">
    <TextView
        android:id="@+id/textViewTopicTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Title"
        android:background="#880000"></TextView>
    <TextView
        android:id="@+id/textViewSolution"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/textViewTopicTitle"
        android:text="Description...."
        android:background="#008800"
        android:layout_toLeftOf="@+id/buttonTopic"></TextView>
    <Button
        android:text="Start"
        android:id="@+id/buttonTopic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textViewTopicTitle"
        android:layout_alignParentRight="true">
    </Button>
</RelativeLayout>