Android EditText 文本未垂直居中

Android EditText text is not vertically centered

我有一个定义 EditBox 的搜索栏

<EditText
    android:id="@+id/search_editbox"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_centerVertical="true"
    android:layout_toLeftOf="@id/search_execute_imageview"
    android:layout_toRightOf="@id/layout_back_logo"
    android:gravity="left"
    android:hint="@string/search_hint"
    android:maxLength="20"
    android:textCursorDrawable="@null"
    android:drawableRight="@drawable/abc_ic_clear_holo_light"
    android:background="@drawable/rounded_edittext_states"
    android:padding="5dip"        
    android:singleLine="true"
    android:textSize="@dimen/main_text_size" />

尽管android:layout_centerVertical="true"文字不在中间,而是靠近上边。

使用

 android:gravity="left|center_vertical"

只需将重力值更改为 "left center align"。

android:gravity:"left|center"

试试这个:

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="56dp"
    android:ems="10"
    android:gravity="left|center_horizontal"
    android:textAlignment="center" >
</EditText>

正确答案正确但建议使用:

android:gravity="start|center_vertical" 而不是 ("left") 以避免格式错误。