如何将四个EditTexts并排放置,每个EditTexts之间有一个句点?

时间:2017-01-20 21:53:57

标签: android android-edittext

我试图创建一个布局文件,它有四个EditTexts并排,每个框之间有一个句点(所以三个纯文本视图,每个包含一个句点)。这四个框将用于IP地址输入。我想让它们以我的布局为中心,但是我无法使用RelativeLayout或LinearLayout(水平)使它们正确对齐。这是布局文件的代码:

integer

我已经注释了进度条,因为它也位于中间位置,当我尝试使用Android Studio中的“设计”选项卡进行拖放操作时,它正在干扰。

3 个答案:

答案 0 :(得分:0)

您应该可以使用已设置的 RelativeLayout 将这4个文本视图并排设置,并在它们之间设置一个句点。只需使用您为按钮 android:layout_toRightOf 设置的相同属性,同时为您创建的每个新文本视图设置ID。

<EditText 
    android:id="@+id/first" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" />
<TextView
    android:id="@+id/second" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@id/first" />
<EditText
    android:id="@+id/third" 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=","
    android:layout_below="@id/name"
    android:layout_toRightOf="@id/second" />

relevant

答案 1 :(得分:0)

这样的事情会达到预期的效果

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

    <EditText
        android:id="@+id/ip_seg_1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:maxLength="3"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="."/>

    <EditText
        android:id="@+id/ip_seg_2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:maxLength="3"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="."/>

    <EditText
        android:id="@+id/ip_seg_3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:maxLength="3"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="."/>

    <EditText
        android:id="@+id/ip_seg_4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:maxLength="3"/>

</LinearLayout>

您必须将实际的IP拼凑在一起,但在片段/活动中这不应该太难。

答案 2 :(得分:0)

Just place following Linear layout in your Relative layout it will display 4 edit text separated by period, you can further customise this code to exactly match your need 

 <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:gravity="center"
        android:orientation="horizontal">

        <EditText android:layout_width="0dp"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:gravity="center"
                  android:text="1234"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"

                  android:text="."
                  android:textSize="30dp"/>
        <EditText android:layout_width="0dp"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:gravity="center"
                  android:text="1234"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"

                  android:text="."
                  android:textSize="30dp"/>
        <EditText android:layout_width="0dp"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:gravity="center"
                  android:text="1234"/>
        <TextView android:layout_width="wrap_content"
                  android:layout_height="wrap_content"

                  android:text="."
                  android:textSize="30dp"/>
        <EditText android:layout_width="0dp"
                  android:layout_height="wrap_content"
                  android:layout_weight="1"
                  android:gravity="center"
                  android:text="1234"/>


    </LinearLayout>