当尝试在linearlayout中居中放置水平edittext并在其左侧添加textview时无法实现
问题描述:
我有一个LinearLayout
水平并且有一个EditText
center_horizontal并且一切正常,但是当我尝试将TextView
添加到其左侧时EditText)EditText
向右移动,因为控制TextView
和EditText
都处于中心位置。我的问题是,我希望EditText
保持在中心位置,TextView
在左边,而不移动EditText的中心位置。这是没有的TextView当尝试在linearlayout中居中放置水平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>
达到那里的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"
>
<TextView
android:text="Fecha: "
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
style="@style/textoTitulosBlanco"
android:id="@+id/txtFechaAgenda" />
<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向右移动,失去了中心位置。我希望你能帮助我。在此先感谢...
答
一个可能的解决方案,您的问题可能是,(我从问题的理解)上添加的EditText的右侧第三个视图,并设置它的知名度不可见。 (因此,它不显示本身,而是占用空间)
答
这些不线性布置工作。他们在相对布局
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"/>
答
android:layout_centerHorizontal="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>
是的,我使用的是trik,但必须是正确的方法。感谢即时使用您的解决方案 – matQ