2015-11-19 61 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>