2015-11-19 62 views
-2

我是刚刚在今天刚刚启动android的android中的新手。我在布局中遇到了一些问题。 我希望布局如下。Android中的相对布局

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

这里是我有什么tried.The前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

添加线性布局 – Destro

+0

EditView在另一个层叠圈 –

回答

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

谢谢你...解决了我的问题。 :) –

+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来实现自己的目标,但你最后的EditText的ATTRS也许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个线性布局,并将您的Textviews放在那里。使用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>