【问题标题】:Android EditText text is not vertically centeredAndroid EditText 文本不垂直居中
【发布时间】:2015-03-21 00:51:00
【问题描述】:

我有定义 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:layout_centerVertical="true" 将edittext放在中心而不是它的文本,因为它的文本居中对齐使用android:gravity="center"
  • 您必须使用 android:gravity="center" 将文本对齐到中心

标签: android android-edittext


【解决方案1】:

使用

 android:gravity="left|center_vertical"

【讨论】:

    【解决方案2】:

    只需将重力值更改为“左对齐”即可。

    android:gravity:"left|center"
    

    【讨论】:

    • @Moes 我没告诉你哪个答案没有提供,你能解释一下吗。
    • 我认为任何人都可以通过财产获得。虽然我已经更新了我的答案,但我发现它不需要太多解释,请检查它。
    【解决方案3】:

    试试这个:

    <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>
    

    【讨论】:

      【解决方案4】:

      正确答案是对的但建议使用:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-15
        • 2015-09-16
        • 2015-06-06
        • 1970-01-01
        • 2023-03-05
        • 2014-03-02
        相关资源
        最近更新 更多