android:layout_centerVerticle =“true”对我的编辑文本没有影响

时间:2014-01-22 14:29:07

标签: android android-layout

我有一个相对布局的edittext和一个按钮。这是xml:

    <?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="wrap_content" >

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginBottom="5sp" >

    <Button
        android:id="@+id/action_home_button"
        android:layout_width="35sp"
        android:layout_height="35sp"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:background="@drawable/home_button" />

    <EditText
        android:id="@+id/action_search"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@+id/action_home_button"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:hint="Some hint..."
        android:textColor="#FFFFFF"
        android:textColorHint="#DDDDDD" />

</RelativeLayout>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="5sp"
    android:layout_alignParentBottom="true"
    android:background="#EC9D21" />

</RelativeLayout>

问题是该按钮位于RelativeLayout的中心位置,但我的EditText与布局的顶部对齐。有什么我想念的吗?提前谢谢。

编辑上面我更新了我的xml。我将其设置为我的操作栏的自定义视图。但这不应该有所作为,因为按钮没有问题与中心垂直对齐。感谢名单

编辑 EditText应对齐中心垂直

2 个答案:

答案 0 :(得分:0)

为Uxonith +1。改变背景似乎是诀窍,例如。 android:background="#000000"。对我来说这很好,因为我不得不改变背景,但如果你需要标准的编辑文本,这将不是一个解决方案。

答案 1 :(得分:0)

某些主题中的标准EditTexts似乎有一些内置在paddingmargin周围和/或下面。如果您希望消除此问题,那么我会建议使用nine patch,背景颜色或其他形式的自定义背景。

尝试设置负底边距或疯狂的东西可能会解决一个标准EditText的问题,但你必须小心Android版本,因为他们的EditTexts可能有不同的主题,并给出了相当意外的行为。

至于为什么主题设计师选择在下面留下这个差距超出了我。当开发人员不在垂直对齐的EditTexts之间添加边距时,我最好的猜测就是他们“保存面子”的方式吗?