如何将EditText和Button放在一起?

时间:2011-06-08 02:00:46

标签: android android-layout

我想尝试将EditText和Button彼此相邻。我目前的按钮位于右侧,编辑文本左对齐,但按钮显示它位于EditText的顶部。我希望Button能够从EditText结束的地方开始。

这就是我现在所拥有的:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#004D79">
        <RelativeLayout android:id="@+id/relativeLayout1" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content">
        <EditText 
            android:layout_alignParentLeft="true" 
            android:text="EditText"
            android:layout_marginTop="10dp" 
            android:id="@+id/editText" 
            android:layout_height="wrap_content" 
            android:layout_width="fill_parent">
        </EditText>
        <Button android:text="Skip"
         android:id="@+id/skipButton" 
         android:textSize="18sp"
         android:layout_marginTop="10dp" 
         android:layout_alignParentRight="true" 
         android:layout_height="wrap_content" 
         android:layout_width="80dp">
         </Button>
    </RelativeLayout> 
</LinearLayout>

我尝试将EditText宽度设置为具有精确的dp量,但是当屏幕翻转时,EditText和Button之间存在很大差距。

3 个答案:

答案 0 :(得分:20)

如果你想继续使用相对布局并让编辑文本一直运行到按钮,你可以将它添加到edittext xml

android:layout_toLeftOf="@+id/skipButton"

答案 1 :(得分:16)

不要使用RelativeLayout,只需将LinearLayout更改为android:orientation =“horizo​​ntal”。然后,它内部的所有视图将并排放置。删除alignParent事物(用于相对布局),并设置editText(我相信你想拉伸并填充屏幕)以使layout_weight =“1”。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#004D79"
    >
        <EditText 
            android:layout_alignParentLeft="true" 
            android:text="EditText"
            android:layout_weight="1" 
            android:id="@+id/editText" 
            android:layout_height="wrap_content" 
            android:layout_width="fill_parent">
        </EditText>
        <Button android:text="Skip"
         android:id="@+id/skipButton" 
         android:textSize="18dp"
         android:layout_marginTop="10dp" 
         android:layout_height="wrap_content" 
         android:layout_width="80dp">
         </Button>
</LinearLayout>

答案 2 :(得分:1)

    <LinearLayout
        android:id="@+id/measure"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/product_description"
        android:layout_margin="10dp"
        android:layout_marginLeft="5dp"
        android:layout_marginTop="20dp"
        android:background="#ff669900"
        android:orientation="horizontal"
        android:padding="1px"
        android:textColor="#fff"
        android:weightSum="2" >

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:ellipsize="marquee"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:freezesText="true"
            android:gravity="center"
            android:marqueeRepeatLimit="marquee_forever"
            android:padding="5dp"
            android:scrollHorizontally="true"
            android:singleLine="true"
            android:text="IMEI"
            android:textColor="#fff"
            android:textSize="15sp"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/connection_type"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:background="@color/white"
            android:gravity="center"
            android:hint=""
            android:padding="10dp"
            android:textColor="#ff669900"
            android:textSize="15sp" />
    </LinearLayout>

Out Put看起来像这样: -

EditText next to TextView

可能会有所帮助,您可以将TextView更改为Button或更改位置全部由您决定。