2016-04-29 68 views
2

我已經開始學習android開發,並且偶然發現了一件事情,我不明白爲什麼會發生這種情況。這裏是我遇到的麻煩的代碼:元素的定位 - 不在同一行

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

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

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:text="@string/lbl_Title" 
       android:id="@+id/lbl_Title" 
       android:layout_marginTop="@dimen/activity_vertical_margin" /> 

      <EditText 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/editText" 
       android:layout_weight="2" 
       android:layout_marginTop="@dimen/activity_vertical_margin" /> 
     </LinearLayout> 

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

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:text="@string/lbl_Title" 
       android:id="@+id/lbl_Date" 
       android:layout_marginTop="@dimen/activity_vertical_margin" /> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:textAppearance="?android:attr/textAppearanceLarge" 
       android:text="-" 
       android:id="@+id/textView2" 
       android:layout_marginTop="@dimen/activity_vertical_margin" />/> 
     </LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

導致以下:

enter image description here

正如你所看到的,儘管我的兩個容器是完全一樣的,由於未知原因,第二個容器下的文本位於第一個元素的稍上方。這是爲什麼?

P.S.這些容器在RelativeLayout面板下。

+0

我不明白你的問題。你能告訴我你想要什麼嗎? – Masum

+0

兩個標題標籤在同一假想行中的排列方式如何? –

回答

1

問題是EditText。由於您只在右側的第二個TestView上使用wrap_content,因此該線性佈局的高度小於左側的高度。

+0

真棒!像魅力一樣工作。謝謝! –

1

我改變了一些部分。現在它的工作作爲您的要求

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

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_marginTop="@dimen/activity_vertical_margin" 
    android:gravity="center_vertical"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center_vertical" 
     android:orientation="horizontal"> 

     <TextView 
      android:id="@+id/lbl_Title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Title" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="2" /> 
    </LinearLayout> 

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

     <TextView 
      android:id="@+id/lbl_Date" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Title" 
      android:textAppearance="?android:attr/textAppearanceLarge" /> 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="-" 
      android:textAppearance="?android:attr/textAppearanceLarge" />/> 
    </LinearLayout> 
    </LinearLayout> 
</RelativeLayout>