前几天我正在搜索一个带有“标签”的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英寸获得的截图:
我画了一条红线,因为你可以看到它们没有对齐。有什么帮助吗?
答案 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则不在。这就是导致错位问题的原因。