2015-11-19 3 views
-2

Я новичок в андроиде, который начал андроид только сегодня. Я столкнулся с некоторой проблемой в макетах. Я хочу, чтобы макет был следующим.Относительная компоновка в android

1(TextView)  2(TextView) 
    3(EditView)  4(EditView) 

Вот что у меня есть tried.The Top 1 & 2 представляет TextView и 3 & 4 представляет EditView.Can мы достигаем этого только с относительным макетом.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:background="@drawable/amicare" 

    tools:context="com.example.ambulancetrack.MainActivity" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/reg_no" 

     android:id="@+id/tvRegNo" 
     android:textColor="#21F6D0" 
     android:layout_toLeftOf="@+id/tvPhoneNo" 
     /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="RAHAT Phone No." 
     android:textColor="#21F6D0" 

     android:layout_alignParentRight="true" 
     android:id="@+id/tvPhoneNo" 

     /> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/tvRegNo" 

     android:background="#1E4F56" 
     android:textColor="#FFFFFF" 
     android:id="@+id/evRegNo" 
     /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/evRegNo" 

     android:background="#1E4F56" 
     android:textColor="#FFFFFF" 
     android:id="@+id/evPhoneNo" 
     /> 

</RelativeLayout> 

Пожалуйста, помогите !!! Заранее спасибо

+0

чем проблема ?? –

+1

add Linear layoute – Destro

+0

EditView Over lap друг на друга –

ответ

1

Вы можете архивировать это с помощью LinearLayout также с использованием android:layout_weight, как:

<LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" > 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:text="Text View 1" /> 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:text="Text View 2" /> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" > 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:text="Text View 3" /> 

      <TextView 
       android:layout_width="0dp" 
       android:layout_height="wrap_content" 
       android:layout_weight="0.5" 
       android:text="Text View 4" /> 
     </LinearLayout> 
    </LinearLayout> 
3

Ckeck этот вариант (в вашем случае):

ОБНОВЛЕНИЕ:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:background="@drawable/amicare" 

tools:context="com.example.ambulancetrack.MainActivity" > 

<TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/reg_no" 

    android:id="@+id/tvRegNo" 
    android:textColor="#21F6D0" 
    android:layout_toLeftOf="@+id/tvPhoneNo" 
    /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="RAHAT Phone No." 
    android:textColor="#21F6D0" 

    android:layout_alignParentRight="true" 
    android:id="@+id/tvPhoneNo" 

    /> 
<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/tvRegNo" 

    android:background="#1E4F56" 
    android:textColor="#FFFFFF" 
    android:id="@+id/evRegNo" 
    android:layout_toLeftOf="@+id/evPhoneNo" 
    android:layout_toStartOf="@+id/evPhoneNo" /> 

<EditText 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/tvPhoneNo" 
    android:layout_below="@+id/tvPhoneNo" 
    android:background="#1E4F56" 
    android:textColor="#FFFFFF" 
    android:id="@+id/evPhoneNo" 
    /> 

+0

Повторите попытку, я не знаю, чего вы хотите? Я написал то, что вы хотите в своем вопросе – walkmn

+0

Спасибо u ... Решил мою проблему. :) –

+0

Удачи! Пожалуйста, отметьте мой ответ, если да. – walkmn

1

Вот ваш код.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context="com.example.ambulancetrack.MainActivity"> 

<LinearLayout 
    android:id="@+id/layout1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal"> 

    <TextView 
     android:id="@+id/tvRegNo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@+id/tvPhoneNo" 
     android:layout_weight="1" 
     android:text="reg_no" 
     android:textColor="#21F6D0" /> 

    <TextView 
     android:id="@+id/tvPhoneNo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_weight="1" 
     android:text="RAHAT Phone No." 
     android:textColor="#21F6D0" 

     /> 
</LinearLayout> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/layout1" 
    android:orientation="horizontal"> 

    <EditText 
     android:id="@+id/evRegNo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/tvRegNo" 
     android:layout_weight="1" 
     android:background="#1E4F56" 
     android:textColor="#FFFFFF" /> 

    <EditText 
     android:id="@+id/evPhoneNo" 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/evRegNo" 
     android:layout_weight="1" 
     android:background="#1E4F56" 
     android:textColor="#FFFFFF" /> 
</LinearLayout> 

Попробуй и принять ответ, если это полезно.

+2

Вы можете добавить комментарий, что и причина для голосования. –

1

попробовать этот способ

<RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingBottom="@dimen/activity_vertical_margin" 
     android:paddingLeft="@dimen/activity_horizontal_margin" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingTop="@dimen/activity_vertical_margin" 
     > 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="abce" 
      android:id="@+id/tvRegNo" 
      android:layout_toLeftOf="@+id/tvPhoneNo" 

      /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="RAHAT Phone No." 

      android:layout_alignParentRight="true" 
      android:id="@+id/tvPhoneNo" 

      /> 
     <EditText 
      android:layout_width="170dp" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/tvRegNo" 
      android:hint="avc" 
      android:layout_alignParentLeft="true" 
      android:textColor="#FFFFFF" 
      android:id="@+id/evRegNo" 
      /> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:hint="avcd" 
      android:layout_toRightOf="@+id/evRegNo" 
      android:layout_alignParentRight="true" 
      android:layout_below="@+id/tvPhoneNo" 
      android:textColor="#FFFFFF" 
      android:id="@+id/evPhoneNo" 
      /> 

    </RelativeLayout> 
1

Ваше мышление является правильным, мы можем использовать один RelativeLayout для достижения своей цели, но ATTRS ваш последний EditText в возможно wrong.Please попробовать это:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:background="@drawable/amicare" 

    tools:context="com.example.ambulancetrack.MainActivity" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/reg_no" 

     android:id="@+id/tvRegNo" 
     android:textColor="#21F6D0" 
     android:layout_toLeftOf="@+id/tvPhoneNo" 
     /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="RAHAT Phone No." 
     android:textColor="#21F6D0" 

     android:layout_alignParentRight="true" 
     android:id="@+id/tvPhoneNo" 

     /> 
    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/tvRegNo" 

     android:background="#1E4F56" 
     android:textColor="#FFFFFF" 
     android:id="@+id/evRegNo" 
     /> 

    <EditText 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/tvPhoneNo" 
     android:layout_below="@+id/tvPhoneNo" 
     android:background="#1E4F56" 
     android:textColor="#FFFFFF" 
     android:id="@+id/evPhoneNo" 
     /> 

    </RelativeLayout> 

Просто добавьте

android:layout_alignLeft="@+id/tvPhoneNo" 
android:layout_below="@+id/tvPhoneNo" 

, чтобы убедиться, что evPhoneNo макеты ниже из tvPhoneNo и выровнять по левому краю от tvPhoneNo.

1

Изменить вид основного вида на Линейный с Вертикальный Ориентация. Затем добавьте еще 2 линейных макета с Горизонтально Ориентация внутри и разместите свои текстовые изображения. Используйте атрибут Weight для управления размером каждого макета. Как что:

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/textView" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:text="Large Text" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:text="Large Text" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:text="Large Text" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:text="Large Text" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 
    </LinearLayout> 

    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="10"></LinearLayout> 
</LinearLayout> 

Добавить еще один макет для вас основной вертикальной компоновки и установить его веса до 10, так что это займет много места и ваши TextViews будут близки друг к другу. Не забудьте установить android:layout_height="0dp" ваших внутренних макетов, чтобы сделать вес работать правильно.

1

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

 <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/editText" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginTop="137dp" 
      android:text="EditView"/> 

     <EditText 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/editText2" 
      android:layout_alignTop="@+id/editText" 
      android:text="EditView" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="TextView" 
      android:id="@+id/textView1" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" /> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="TextView" 
      android:id="@+id/textView2" 
      android:layout_alignParentRight="true" 
      android:layout_alignParentEnd="true" /> 
    </RelativeLayout> 
Смежные вопросы