我希望我的EditTexts在彼此之上对齐,同样长,并且与右边对齐。 我正在使用线性布局。 现在it looks like this。
这是我的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 :(得分:1)
您正在寻找的是android:layout_weight
属性,该属性告诉活动每个视图应占用的父级百分比。每个父视图在放置子项时都会考虑此属性,父布局的权重为“1”以分配给每个视图。这相当于视图的100%。如果您给孩子(您的textview和edittexts)android:layout_weight=".5"
,他们将扩展占据父母空间的50%。对于您的情况,您似乎可能需要像文本视图的重量为.25和编辑文本的.75的重量。
此外,如果您不喜欢使用小数,则可以为父视图指定android:weightSum
属性。您的新号码将对应于父视图的100%,而不是1.例如,如果您希望视图分割为25%-75%,请为每个父级LinearLayout指定weightSum为4,TextViews的权重为1,而EditTexts的权重为3。
我在提交之前只是查看了您的代码,并意识到您已经使用了layout_weight
属性。为了更深入一些,当您在父级中为单个视图提供权重为1时,您将告诉它在其他视图布局后占用所有可用空间。所以你的textview正在包装它的内容并占用最少量的父级,而EditTexts则完成其余的工作。基本上,重量不会妨碍视图布局。如果它在父母身上需要的空间比体重提供的空间多,那么剩下的空间将根据其他孩子的体重进行划分。
答案 1 :(得分:0)
我不尝试,但也许你可以使用表格布局来解决这个问题。 http://developer.android.com/resources/tutorials/views/hello-tablelayout.html 可以看一下这个链接
答案 2 :(得分:0)
您可以尝试使用RelativeLayout
http://developer.android.com/resources/tutorials/views/hello-relativelayout.html
或以其他方式尝试具有相同列的TableLayout
http://developer.android.com/resources/tutorials/views/hello-tablelayout.html
答案 3 :(得分:0)
你可以在LinearLayout中使用weightSum ......
答案 4 :(得分:0)
只需将 android:orientation =“vertical”添加到您的linearlayout1,2,3 ......
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >