从autocompletetextview结果中删除黑色边框

时间:2014-12-01 08:54:33

标签: android autocompletetextview

在autocompletetextview中键入文本会显示结果,背后有深色背景,上面和下面有填充。我还没有找到这个黑暗的背景布局来自哪里,我非常想要完全摆脱它,或者至少摆脱上下暗填充。对于autocompletetextview,我有一个自定义适配器,它使用列表中每个元素的布局..但据我所知,这是我用于视图的唯一布局文件。

这是工具栏布局中autocompletetextview的代码:

<AutoCompleteTextView
    android:id="@+id/search_box"
    android:layout_marginLeft="10dp"
    android:layout_marginStart="10dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:background="@drawable/auto_complete_background"
    android:layout_toLeftOf="@id/search_icon"
    android:layout_toStartOf="@id/search_icon"
    android:layout_toRightOf="@id/tvTitle"
    android:layout_toEndOf="@id/tvTitle"
    android:dropDownSelector="@color/cyan_light"
    android:dropDownVerticalOffset="@dimen/abc_action_bar_default_height_material"
    android:dropDownHorizontalOffset="-15dp"
    android:dropDownWidth="match_parent"
    android:dropDownHeight="wrap_content"
    android:gravity="center_vertical"
    android:hint="@string/search_hint"
    android:textColorHint="@color/white_semi_transparent"
    android:inputType="textAutoComplete"
    android:popupBackground="@color/white"
    />

以下是列表中每个元素的布局代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="start|center_vertical"
>

<TextView
    android:id="@+id/search_item_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:gravity="start|center_vertical"
    android:maxLines="1"
    android:paddingBottom="15dp"
    android:paddingLeft="10dp"
    android:paddingStart="10dp"
    android:paddingRight="10dp"
    android:paddingEnd="10dp"
    android:paddingTop="15dp"
    android:scrollHorizontally="false"
    android:text="@string/placeholder_name"
    android:textColor="@color/black"
    android:textSize="20sp" />

<TextView
    android:id="@+id/search_item_address"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/search_item_name"
    android:layout_alignBottom="@+id/search_item_name"
    android:layout_toRightOf="@+id/search_item_name"
    android:layout_toEndOf="@+id/search_item_name"
    android:gravity="start|center_vertical"
    android:maxLines="1"
    android:ellipsize="end"
    android:paddingLeft="5dp"
    android:paddingStart="5dp"
    android:paddingRight="5dp"
    android:paddingEnd="5dp"
    android:scrollHorizontally="false"
    android:text="@string/placeholder_address"
    android:textColor="@color/cyan"
    android:textSize="20sp" />

</RelativeLayout>

深色背景布局来自何处以及如何摆脱它?

更新:

删除代码行:

android:popupBackground="@color/white"

没有黑暗的边界。另一方面,现在我的结果显示在灰色背景上,我希望它是白色的。我怎么能这样做而不使用popupBackground?

2 个答案:

答案 0 :(得分:1)

解决方案原来是两件事:

1)删除该行:

android:popupBackground="@color/white"
来自autocompletetextview元素的

2)添加行:

android:background="@color/white"

到结果行的relativelayout

答案 1 :(得分:0)

还有另一种更有效的方法,使用 android:dropDownSelector 属性,而不是设置 android:popupBackground

android:dropDownSelector="@android:color/white"