EditText内的TextView对齐

时间:2013-05-19 17:54:05

标签: android android-layout android-xml

前几天我正在搜索一个带有“标签”的edittext实现,用于输入用户名。 我在Stackoverflow中找到了以下xml代码。

<FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_margin="10dp">

        <EditText
            android:id="@+id/username_editText"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:hint="Πατήστε εδώ"
            android:inputType="text"
            android:maxLength="20"
            android:paddingLeft="125dp"
            tools:ignore="HardcodedText" >

             <requestFocus />
        </EditText>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginBottom="0dp"
            android:layout_marginLeft="0dp"
            android:layout_marginRight="0dp"
            android:paddingLeft="12dp"
            android:text="Όνομα χρήστη:"
            android:textColor="@color/grey"
            android:textSize="15sp"
            tools:ignore="HardcodedText" />

        </FrameLayout>

结果是我需要的,除了一件事。编辑文本和textview都没有在y轴上对齐,文本的底部没有以小分辨率对齐。我从3.7英寸获得的截图: enter image description here

我画了一条红线,因为你可以看到它们没有对齐。有什么帮助吗?

2 个答案:

答案 0 :(得分:3)

要对齐文本,您需要一个包含布局参数的Relativelayout: android:layout_alignBaseline 。 试试这个并让我更新:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >

    <EditText
        android:id="@+id/username_editText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:inputType="text"
        android:ems="10"
        android:maxLength="20"
        android:textSize="15sp"
        android:hint="Πατήστε εδώ"
        android:paddingLeft="125dp" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/username_editText"
        android:layout_alignBottom="@+id/username_editText"
        android:layout_alignParentLeft="true"
        android:paddingLeft="10dp"
        android:text="Όνομα χρήστη:"
        android:text="TextView" />

</RelativeLayout>

答案 1 :(得分:0)

删除该行:

        android:layout_gravity="center_vertical"
从TextView中

。该行使TextView在垂直轴上居中,而EditText则不在。这就是导致错位问题的原因。