Как выровнять текст один под другим в Android?

Я работаю над приложением для Android. Здесь у меня есть 2 TextView, которые мне нужно выровнять друг под другом.(i.e "Artist Name" should be exact below the "Title of song" )

Может ли кто-нибудь помочь мне выровнять TextView один под другим. Заранее спасибо.

Ниже мой код

<RelativeLayout xmlns:
  android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:background="@drawable/list_selector"
  android:orientation="horizontal"
  android:padding="5dip" >

  <TableLayout
  android:layout_width="wrap_content"
  android:layout_height="match_parent"
  android:layout_centerHorizontal="true" >

  <!--  Left side Thumbnail image -->
  <TableRow android:id="@+id/thumbnail"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:padding="3dip"
   android:layout_alignParentLeft="true"
   android:background="@drawable/image_bg"
   android:layout_marginRight="5dip">

<ImageView
    android:id="@+id/list_image"
    android:layout_width="50dip"
    android:layout_height="50dip"
    android:src="@drawable/doc"/>



 <!-- Title Of Song-->
 <TextView
 android:id="@+id/title"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignTop="@+id/thumbnail"
 android:layout_toRightOf="@+id/thumbnail"
 android:text="love you the"
 android:textColor="#040404"
 android:typeface="sans"
 android:textSize="15dip"
 android:textStyle="bold"/>

 <!-- Artist Name -->
  <TextView
  android:id="@+id/artist"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:layout_below="@id/title"
  android:textColor="#343434"
  android:textSize="10sp"
  android:layout_marginTop="1dip"
  android:layout_toRightOf="@+id/thumbnail"
  android:text="Mary" />

  <!-- Rightend Duration -->
  <TextView
 android:id="@+id/duration"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_alignParentRight="true"
 android:layout_alignTop="@id/title"
 android:gravity="right"
 android:text="7:45"
 android:layout_marginRight="5dip"
 android:textSize="10dip"
 android:textColor="#10bcc9"
 android:textStyle="bold"/>

    <!-- Rightend Arrow -->
     <ImageView android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/arrows"
 android:layout_alignParentRight="true"
 android:layout_centerVertical="true"/>
 </TableRow>
 </TableLayout>

   </RelativeLayout>

person user3607124    schedule 13.06.2014    source источник
comment
Хитрость здесь в том, что свойство android:gravity является правильным, используйте его.   -  person Jay    schedule 13.06.2014
comment
Это лучший пример для вашей программы, проверьте ссылку. stackoverflow.com/questions/14000755/   -  person Jay    schedule 13.06.2014
comment
попробуйте использовать LinearLayout или используйте свойство android:layout_alignBottom="@+id/title"   -  person Ramki Anba    schedule 13.06.2014
comment
@ Джей, это не сработало :(   -  person user3607124    schedule 13.06.2014
comment
@ Ramki Anba, уже используется, android:layout_below=@+id/title   -  person user3607124    schedule 13.06.2014


Ответы (5)


Просто используйте это, чтобы разместить свой элемент рядом с другим.

androidHacker прав, вы можете разместить одно текстовое представление ниже другого, например:

android:layout_below="@+id/your_another_text_view"

Аналогичный макет здесь в этом учебник для того, что вы ищете здесь.

person Robi Kumar Tomar    schedule 13.06.2014
comment
все равно текст тот же (т.е. не выровнен под названием песни) - person user3607124; 13.06.2014
comment
просто удалите эту строку android:layout_centerHorizontal=true › из хареша answer@user3607124 - person Robi Kumar Tomar; 13.06.2014
comment
@ Роби Кумар Томар, после удаления android:layout_centerHorizontal=true › весь контент выравнивается по левому краю - person user3607124; 13.06.2014
comment
Вы читали последнюю ссылку, которую я здесь прикрепил, она показывает тот же вид, что и вы хотите. Просто используйте этот pastebin.com/4xy2KEWu @user3607124 - person Robi Kumar Tomar; 13.06.2014
comment
@ Роби Кумар Томар, обязательно пройду через это и дам вам знать Спасибо. - person user3607124; 13.06.2014
comment
@user3607124 user3607124 Рад, что помог вам, просто скажите спасибо, поставив галочку и приняв это. так что это может помочь другим. - person Robi Kumar Tomar; 13.06.2014
comment
@ Роби Кумар Томар, у меня есть еще одно сомнение, хочу ли я использовать TableLayout (т.е. если я хочу много одинаковых похожих строк). Как я должен это делать ? - person user3607124; 13.06.2014
comment
Просто используйте просмотр списка и раздуйте представление, чтобы показать список, что вы можете заполнить данные для каждой строки вашего списка. используйте этот androidhive.info/2012/02 / - person Robi Kumar Tomar; 13.06.2014

попробуй так..

 android:layout_below="@+id/your_another_text_view"

ОБНОВЛЕНИЕ

Вам просто нужно использовать относительный макет специально для этого textView. Попробуйте и дайте мне знать.

person AndroidHacker    schedule 13.06.2014

попробуйте использовать LinearLayout или используйте свойство android:layout_alignBottom="@+id/title"

person Ramki Anba    schedule 13.06.2014

person    schedule
comment
@ Haresh, спасибо :) мне помогло - person user3607124; 13.06.2014
comment
@ Хареш, текст выравнивается, но весь контент выравнивается по центру :( - person user3607124; 13.06.2014
comment
попробуйте удалить это свойство android:layout_centerHorizontal=true из TableLayout. - person Haresh Chhelana; 13.06.2014

person    schedule
comment
@ Васим Ахмед, не помогло :( - person user3607124; 13.06.2014
comment
вы приняли ответ .. поэтому я думаю, что вам не нужен дальнейший ответ :) - person Wasim Ahmed; 13.06.2014