将textview和edittext放在同一行

时间:2013-11-11 07:16:06

标签: android xml

我想将TextViewEditext放在同一行,但看起来TextView位于EditText之上。我已经在SO上尝试了所有解决方案,但它并不适合我。

enter image description here

这是我的代码

       <RelativeLayout
        android:id="@+id/view2"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <TextView
            android:id="@+id/from"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:background="#ffffff"
            android:text="From"
            android:textColor="#000fff"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/input"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:gravity="right"
            android:inputType="number"
            android:visibility="invisible" />
  </RelativeLayout>

它将EditText置于TextView之上。

4 个答案:

答案 0 :(得分:0)

您可以查看此解决方案

    <TextView
        android:id="@+id/from"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="From"
        android:textColor="#000fff"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/input"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:gravity="right"
        android:inputType="number"
        android:textColor="#ffffff"
        android:text="sdjgsjgjb,,b,bm,m,sjksjkjjhks"
        android:layout_toRightOf="@+id/from"
       />

答案 1 :(得分:0)

因为你已经提供了属性fill_parent来编辑文本,所以将其更新为:

<EditText
        android:id="@+id/input"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:gravity="right"
        android:inputType="number"
        android:visibility="invisible"
        android:layout_toRightOf="@id/from" />

答案 2 :(得分:0)

尝试使用水平方向的LinearLayout

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

        <TextView
            android:id="@+id/from"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:text="From"
            android:textColor="#000fff"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/input"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:gravity="right"
            android:inputType="number"
             />
  </LinearLayout>

答案 3 :(得分:0)

您可以使用android:layout_weight。您可以查看示例hereandroid:layout_weight仅适用于Linearlayout。您还可以在已定义的LinearLayout内定义RelativeLayout

<LinearLayout
    android:id="@+id/view2"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/from"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".60"
        android:layout_alignParentTop="true"
        android:background="#ffffff"
        android:text="From"
        android:textColor="#000fff"
        android:textStyle="bold" />

    <EditText
        android:id="@+id/input"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight=".40"
        android:layout_alignParentTop="true"
        android:gravity="right"
        android:inputType="number"
        android:visibility="invisible" />
</LinearLayout>