两个edittext和同一行上的一个按钮

时间:2015-09-23 08:14:25

标签: android button android-edittext

我必须在同一行放置两个edittext和一个按钮。 两个edittext应该具有相同的宽度,尽可能大,以便填充该行。按钮应在右侧。 它应该是这样的: Edittext_______________________ EditText_________________________按钮 我发布了一些相关代码,目前暂不行。

        <RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:id="@+id/new_formulas"
    >
    <Button
        android:textSize="30dp"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add"
        android:id="@+id/add"
        />
    <EditText
        android:textSize="30dp"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:hint="@string/add_hint"
        android:id="@+id/add_hint2"
        android:layout_centerInParent="true"
        android:gravity="center_horizontal"

        />

    <EditText
        android:textSize="30dp"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/add_hint"
        android:id="@+id/add_hint"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@id/add"/></RelativeLayout>

5 个答案:

答案 0 :(得分:2)

尝试以下代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="10dp">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/button"
        android:layout_alignParentLeft="true"
        android:orientation="horizontal"
        >
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="User"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:hint="Pass"/>

    </LinearLayout>
    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:text="Click"/>
</RelativeLayout>

答案 1 :(得分:1)

请试试这个

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/new_formulas"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >



        <EditText
            android:id="@+id/add_hint"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:minWidth="100dp"
            android:hint="Hint"
            android:textSize="30dp" />

        <EditText
            android:id="@+id/add_hint2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/add_hint"
            android:minWidth="100dp"
            android:hint="hint2"
            android:textSize="30dp" />

        <Button
            android:id="@+id/add"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/add_hint2"
            android:text="Add"
            android:textSize="30dp" />

</RelativeLayout>

答案 2 :(得分:0)

使用线性布局:

<LinearLayout
    android:id="@+id/new_formulas"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/add"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add"
        android:textSize="30dp" />

    <EditText
        android:id="@+id/add_hint2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center_horizontal"
        android:hint="@string/add_hint"
        android:textSize="30dp" />

    <EditText
        android:id="@+id/add_hint"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="@string/add_hint"
        android:textSize="30dp" />
</LinearLayout>

答案 3 :(得分:0)

试试这个

parent()

您可以根据需要调整体重,但记住所有体重的总和必须为100

答案 4 :(得分:0)

您可以使用新PercentRelativeLayout中的Percent Support Library来实现您想要的效果。它继承了RelativeLayout的所有对齐属性,并允许您以百分比指定维度和边距。基本上是LinearLayout的layout_weight属性的对应物。请阅读Joanna Smith's #proTip了解详情。

首先在app / build.gradle中添加依赖项

dependencies {
    ...
    compile 'com.android.support:percent:23.0.1'
}

然后改变你的代码:

<android.support.percent.PercentRelativeLayout 
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/new_formulas">

    <Button
        android:textSize="30dp"
        android:layout_alignParentRight="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/add" />

    <EditText
        android:textSize="30dp"
        android:layout_toLeftOf="@id/add"
        app:layout_widthPercent="40%"
        android:layout_height="wrap_content"
        android:id="@+id/add_hint" />

    <EditText
        android:textSize="30dp"
        android:layout_toLeftOf="@id/add_hint"
        app:layout_widthPercent="40%"
        android:layout_height="wrap_content"
        android:id="@+id/add_hint2" />

</android.support.percent.PercentRelativeLayout>

一些提示:

  • 对textSize使用sp而不是dp

  • 发布前始终格式化代码(ctrl + alt + L)。使其更具可读性。