尝试在linearlayout中居中水平edittext并在其左侧添加textview时无法实现

时间:2017-10-07 16:16:03

标签: android xml android-layout android-linearlayout

我有LinearLayout横向并且EditText center_horizo​​ntal,一切正常,但当我尝试在其左侧(EditText)添加TextView {{1向右移动,因为控件EditTextTextView都会居中。我的问题是,我希望EditText保持在中心,而EditText保持在左侧而不移动EditText的中心位置。这是我没有TextView的代码

TextView

直到那里EditText居中确定。接下来我添加了TextView:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtTituloFechaAgenda"
    android:orientation="horizontal"
    android:weightSum="2"
    android:id="@+id/ll1agenda"
    android:background="@color/azul"

    android:gravity="center_horizontal"
    >



    <EditText
        android:inputType="date"
        android:ems="10"
        android:layout_alignParentTop="true"
        android:id="@+id/etFechaAgenda"
        style="@style/textoETFecha"
        android:background="@drawable/style_edit_text1"
        android:layout_height="37dp"
        android:gravity="center_horizontal"

        android:layout_width="150dp" />


</LinearLayout>

所以当我添加TextView时,两个元素都居中,我的EditText向右移动并失去中心位置。我希望你能帮助我。提前谢谢......

3 个答案:

答案 0 :(得分:0)

您的问题的一个可能的解决方案可能是(我从问题中理解)在edittext的右侧添加第三个视图并将其可见性设置为不可见。 (因此,它不显示自己,但占用空间)

答案 1 :(得分:0)

这些在线性布局中不起作用。它们在相对布局

中工作
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"

使用layout_weight来排列editText和TextView

  <TextView
        android:text="Fecha: "
         android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        style="@style/textoTitulosBlanco"
        android:id="@+id/txtFechaAgenda" />

    <EditText
        android:inputType="date"
        android:ems="10"
        android:id="@+id/etFechaAgenda"
        style="@style/textoETFecha"
        android:background="@drawable/style_edit_text1"
        android:layout_height="37dp"
        android:layout_width="0dp"
        android:layout_weight="2"/>

答案 2 :(得分:0)

android:layout_centerHorizontal="true"

使用相对布局使编辑文本的中心水平为true。试试下面的代码段。

 <?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"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="start"
            android:padding="4dp"
            android:text="Fecha:" />

        <EditText
            android:id="@+id/editText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:padding="4dp"
            android:text="Edit Text" />

    </RelativeLayout>