2012-05-11 63 views
1

我希望我的EditTexts彼此重叠,长度相等,并且对齐到右侧。 我正在使用线性布局。 现在it looks like this对齐TextText旁边的EditTexts

这里是我的Android布局XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@drawable/background" 
    android:orientation="vertical" android:configChanges = "orientation" 
    android:screenOrientation = "portrait" > 

    <LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:maxLines="1" 
      android:singleLine="true" 
      android:text="Mail:" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 



     <EditText 
      android:id="@+id/tbopmail" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="textEmailAddress" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout2" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 


     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Fornavn:" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

     <EditText 
      android:id="@+id/tbopfornavn" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:inputType="textPersonName" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout4" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Efternavn:" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

     <EditText 
      android:id="@+id/tbopefternavn" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:inputType="textPersonName" /> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout5" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:maxLines="1" 
      android:singleLine="true" 
      android:text="Adresse:" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 

     <EditText 
      android:id="@+id/tbopadr" 
      android:layout_width="0dip" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" android:inputType="textPersonName"/> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/linearLayout6" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Telefon:" 
      android:textAppearance="?android:attr/textAppearanceSmall" /> 





     <EditText 
      android:id="@+id/tboptlf" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:inputType="phone" 
      android:maxLength="8" android:layout_weight="1"/> 

    </LinearLayout> 




     <LinearLayout 
      android:id="@+id/linearLayout3" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 


      <Button 
       android:id="@+id/btopret" 
       android:layout_width="170dp" 
       android:layout_height="wrap_content" 
        android:layout_gravity="right" 
       android:layout_marginTop="50dp" 
       android:text="Opret mig som bruger!" android:layout_marginLeft="100dp" android:layout_marginRight="1dp"/> 



    </LinearLayout> 

</LinearLayout> 

回答

0

你可以使用TableLayout LinearLayout中的weightSum ...

+1

http://android.amberfog.com/?p=328 –

+0

权衡工作。谢谢。 – Rad

+0

欢迎:) .... –

0

只需添加机器人:方向=“垂直”你linearlayout1,2,3 ...

<LinearLayout 
     android:id="@+id/linearLayout1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" > 
1

什么你要找的是android:layout_weight属性,它告诉了活动的每个父母的百分比视图应该占用。每个父视图在放置子节点时都会考虑该属性,父节点的权重为“1”以分配给每个视图。这对应于100%的视图。如果你给孩子(你的文章浏览和编辑文本)android:layout_weight=".5",他们每个人都会扩大到占据家长空间的50%。对于你的情况,看起来你可能想要的文本视图的重量为.25,编辑文本的重量为.75。

此外,如果您不喜欢使用小数,则可以为您的父视图指定android:weightSum属性。您的新号码将对应于父视图的100%,而不是1.例如,如果您希望视图的分割率为25%-75%,请为每个父LinearLayout添加4的权重总和,TextView的权重为1,而EditTexts的权重为3.

我刚刚在提交之前查看了您的代码,并意识到您已经使用layout_weight属性。为了更深入一点,当你在父母中给出一个单一的视图时,你会告诉它在其他视图布置后占用所有可用空间。所以你的textview包装了它的内容并占用了最少量的父项,而EditTexts得到了其余的。基本上,体重不会阻止布置视图。如果父母需要的空间比体重提供的空间更大,则剩余空间将根据其他孩子的体重划分。