Android:layout_toRightOf和android:layout_below

时间:2012-10-04 07:28:39

标签: android android-layout relativelayout tablerow

我在这里开发了一款应用。在这里,我希望需要o / p ,如下格式:

Artist:      artist
Duration:    duration
Title:       title.

我得到了o / p 是:

Artist:
    artist
Durstion:
    duration
Title: 
    title

这里我希望需要以上格式。

我该怎么做?

这里我使用下面的代码作为我的布局文件。但我无法得到我的要求输出。所以请帮助我并给我一些想法。 请帮帮我

这是我的布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

<LinearLayout
    android:id="@+id/orderinformation"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/payment_method1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5px"
        android:text="Artist"
        android:textSize="15dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/artist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_toRightOf="@+id/payment_method1"
        android:paddingLeft="75px"
        android:text="artist"
        android:textColor="#10bcc9"
        android:textSize="15dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/total1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5px"
        android:text="Duration"
         android:layout_below="@id/payment_method1"
        android:textSize="15dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/duration"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="65px"
        android:layout_toRightOf="@+id/total1"
        android:text="duration"
        android:textColor="#10bcc9"
        android:textSize="15dip"
        android:textStyle="bold" />
   </LinearLayout>

   <LinearLayout
   android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" 
     android:layout_below="@id/orderinformation" >   
   <TextView
     android:id="@+id/firstname1"
    android:paddingLeft="5px"
     android:textSize="15dip"
      android:layout_below="@id/total1"
   android:text="Title"
    android:textStyle="bold"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"/>
  <TextView
     android:id="@+id/title"
      android:text="title"
    android:paddingLeft="65px"
     android:layout_toRightOf="@+id/firstname1"
     android:textSize="15dip"
    android:textColor="#10bcc9"
    android:textStyle="bold"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"/>
  </LinearLayout>

    </LinearLayout>

5 个答案:

答案 0 :(得分:5)

当您使用方向为垂直的LinearLayout时,您将获得前一个布局下方的每个新布局。更好的是使用RelativeLayout。由于android:layout_toRightOf是RelativeLayout的属性,因此它在LinearLayout中无效。

你最好的情况是使用TableLayout,只需要将TextView放在TableRow中。

伪代码,

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TableRow>

        <TextView
            android:id="@+id/payment_method1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dip"
            android:text="Artist"
            android:textSize="15dip"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/artist"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dip"
            android:text="artist"
            android:textColor="#10bcc9"
            android:textSize="15dip"
            android:textStyle="bold" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/total1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dip"
            android:text="Duration"
            android:textSize="15dip"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/duration"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dip"
            android:text="duration"
            android:textColor="#10bcc9"
            android:textSize="15dip"
            android:textStyle="bold" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/firstname1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dip"
            android:text="Title"
            android:textSize="15dip"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dip"
            android:text="title"
            android:textColor="#10bcc9"
            android:textSize="15dip"
            android:textStyle="bold" />
    </TableRow>

</TableLayout>

答案 1 :(得分:0)

这样的事情:

    <LinearLayout... orientation = vertical>

        <LinearLayout... orientation = horizontal>
            <TextView  title>
            <TextView  value>
        </LinearLayout>

        <LinearLayout... orientation = horizontal>
            <TextView  title>
            <TextView  value>
        </LinearLayout>

    </LinearLayout>

或使用TableLayout

PS。不是布局的真实语法,只是为了说明这个想法

答案 2 :(得分:0)

在我看来,或者初学者,图形将非常有助于您实现这一目标。您可以随意拖放TextView。

答案 3 :(得分:0)

你必须使用RelativeLayout,如果你想根据你的意思调整你的文本视图

答案 4 :(得分:0)

试试这也可能有助于解决您的要求

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/t2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dip" >

<TableRow
    android:id="@+id/tableRow1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/payment_method1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="5px"
        android:text="Artist"
        android:textSize="15dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/artist"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="65px"
        android:text="artist"
        android:textColor="#10bcc9"
        android:textSize="15dip"
        android:textStyle="bold" />
</TableRow>

<TableRow
    android:id="@+id/tableRow2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp" >

    <TextView
        android:id="@+id/total1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/payment_method1"
        android:paddingLeft="5px"
        android:text="Duration"
        android:textSize="15dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/duration"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="65px"
        android:text="duration"
        android:textColor="#10bcc9"
        android:textSize="15dip"
        android:textStyle="bold" />
</TableRow>

<TableRow
    android:id="@+id/tableRow3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp" >

    <TextView
        android:id="@+id/firstname1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/total1"
        android:paddingLeft="5px"
        android:text="Title"
        android:textSize="15dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/firstname1"
        android:paddingLeft="65px"
        android:text="title"
        android:textColor="#10bcc9"
        android:textSize="15dip"
        android:textStyle="bold" />
</TableRow>