使用RelativeLayout将EditText与TextView对齐

时间:2018-07-25 07:17:13

标签: android xml android-layout

如何使用RelativeLayout对齐TextView和EditText,使两者的大小和行都相同?

它们的两个上边距都可以在同一条水平线上开始,也可以在同一条水平线上结束。但是看起来像一个在另一个之上...

enter image description here

        <TextView
            android:id="@+id/tv_txtSensorPitch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/tv_comment"
            android:text="@string/tv_txtSensorPitch"
            android:textAppearance="?android:attr/textAppearanceLarge" />

        <EditText
            android:id="@+id/et_sensorPitch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/tv_txtSensorPitch"
            android:layout_toRightOf="@+id/tv_txtSensorPitch"
            android:inputType="numberDecimal" />

6 个答案:

答案 0 :(得分:0)

使用android:layout_width = 0和android:layout_weight = 1

答案 1 :(得分:0)

将它们包装成线性布局并赋予重量:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tv_txtSensorPitch"    
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/et_sensorPitch"
        android:layout_weight="1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal" />

</LinearLayout>

答案 2 :(得分:0)

<LinearLayout
    android:weightSum="1"
    android:gravity="center_horizontal"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:gravity="center"
        android:layout_weight="0.5"
        android:text="dfsdfs : "
        android:layout_width="0dp"
        android:layout_height="wrap_content" />

    <EditText
        android:layout_weight="0.5"
        android:text="fgfgfgfgfg"
        android:layout_width="0dp"
        android:layout_height="wrap_content" />


</LinearLayout>

我已经为线性布局使用了weight属性= 1,并且在TextViewEditText之间分配了等于权重的值

答案 3 :(得分:0)

LinearLayout内以水平方向使用RelativeLayout,在TextViewEditText上使用android:weight =“ 1”并将android:layout_gravity="center"添加到textview

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
   <TextView
    android:id="@+id/tv_txtSensorPitch"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_gravity="center"
    android:layout_height="wrap_content"
    android:layout_below="@+id/tv_comment"
    android:text="Some Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
    android:id="@+id/et_sensorPitch"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:hint="Some TExt"
    android:inputType="numberDecimal" />
</LinearLayout>

答案 4 :(得分:0)

尝试以下代码

 <TextView
     android:id="@+id/tv_txtSensorPitch"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_below="@+id/tv_comment"
     android:text="@string/tv_txtSensorPitch"
     android:textAppearance="?android:attr/textAppearanceLarge" />
 <EditText
     android:id="@+id/et_sensorPitch"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_toRightOf="@id/tv_txtSensorPitch"
     android:layout_alignBottom="@+id/tv_txtSensorPitch"
     android:inputType="numberDecimal"/>

答案 5 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <TextView
        android:id="@+id/tv_txtSensorPitch"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:singleLine="false"
        android:layout_gravity="center"
        android:layout_height="wrap_content"
        android:layout_below="@+id/tv_comment"
        android:text="Some Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    <EditText
        android:id="@+id/et_sensorPitch"
        android:layout_width="0dp"
        android:singleLine="false"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:hint="Some TExt"
        android:inputType="numberDecimal" />
</LinearLayout>
</RelativeLayout>