【问题标题】:Align EditTexts next to TextView在 TextView 旁边对齐 EditTexts
【发布时间】:2012-05-20 02:52:37
【问题描述】:

我希望我的 EditText 相互对齐,长度相同,并且向右对齐。 我正在使用线性布局。 现在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>

【问题讨论】:

    标签: android alignment android-linearlayout android-edittext


    【解决方案1】:

    我不尝试,但也许您可以使用表格布局来解决该问题。 http://developer.android.com/resources/tutorials/views/hello-tablelayout.html 可以看看这个链接

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        你可以在 LinearLayout 中使用 weightSum ...

        【讨论】:

        • 如果查询已解决,请投票/接受与您的答案接近的任何答案,以完成此故事并让所有人都清楚堆栈...... :)
        【解决方案4】:

        只需将 android:orientation="vertical" 添加到您的 linearlayout1,2,3...

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

        【讨论】:

          【解决方案5】:

          您正在寻找的是android:layout_weight 属性,它告诉活动每个视图应占用的父级百分比。每个父视图在布置其子视图时都会考虑此属性,父布局的权重为“1”以分配给其每个视图。这对应于 100% 的视图。如果您给孩子们(您的文本视图和编辑文本)android:layout_weight=".5",他们将各自扩展以占用父母空间的 50%。对于您的情况,您可能希望文本视图的权重为 0.25,编辑文本的权重为 0.75。

          此外,如果您不喜欢使用小数,您可以为父视图分配android:weightSum 属性。您的新数字将对应于 100% 的父视图,而不是 1。例如,如果您想为视图拆分 25%-75%,则给每个父 LinearLayout 的 weightSum 为 4,TextView 的权重为 1,并且 EditTexts 的权重为 3。

          我只是在提交之前查看了您的代码,并意识到您已经使用了layout_weight 属性。为了更深入一点,当您在父视图中为单个视图赋予 1 的权重时,就像您一样,您是在告诉它在布置其他视图之后占用所有可用空间。因此,您的 textview 正在包装其内容并占用最少的父级,而 EditTexts 则获得其余部分。基本上,重量不会妨碍视图的布局。如果父项中需要的空间比权重提供的更多,则剩余空间将根据其他子项的权重进行分配。

          【讨论】:

            猜你喜欢
            • 2013-05-10
            • 1970-01-01
            • 2021-02-10
            • 2017-08-19
            • 2013-11-04
            • 2015-04-19
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多