从 AutoCompleteTextView 下拉列表中删除阴影
Posted
技术标签:
【中文标题】从 AutoCompleteTextView 下拉列表中删除阴影【英文标题】:Remove Shadow From AutoCompleteTextView Dropdown 【发布时间】:2015-09-17 02:05:24 【问题描述】:我正在尝试创建一个full width auto complete text field。
到目前为止,我认为文本字段本身看起来是正确的。问题在于自动完成弹出窗口。它周围有一个非常大胆的阴影,我就是无法摆脱它。 不要误会我的意思,我仍然想要阴影,但是一个微妙的阴影,只在弹出窗口的底部,而不是在它周围(尤其不是在顶部,这真的很奇怪)。
类似这样的:
这是我的样子(抱歉,图片太大):
代码
activity_main.xml:
<AutoCompleteTextView
android:id="@+id/actvSearch"
android:layout_
android:layout_
android:layout_alignParentTop="true"
android:layout_marginBottom="8dp"
android:background="@drawable/full_width_input"
android:completionThreshold="1"
android:hint="Search a movie..."
android:textColorHint="#BDBDBD"
android:elevation="0dp"
android:popupBackground="@android:color/white" />
full_width_input.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:top="-1dp" android:right="-1dp" android:left="-1dp">
<shape android:shape="rectangle">
<padding android:bottom="20dp" android:top="20dp" android:left="16dp" android:right="16dp" />
<solid android:color="@android:color/white" />
<stroke android: android:color="#E0E0E0" />
</shape>
</item>
</selector>
【问题讨论】:
【参考方案1】:如果我们在 AutoCompleteTextView 中设置 android:popupBackground="@null" 并将适配器行的背景设置为白色,我们可以实现这一点。希望它会帮助你。
【讨论】:
感谢您的回答!我尝试了您的解决方案,它几乎就在那里。没有阴影,但似乎每行的白色背景不会影响项目的实际背景。现在,就像列表有透明背景一样。【参考方案2】:这个问题已经有点老了,但无论如何。我刚刚解决了这个问题。我使用 android:popupBackground="@null"
进行自动完成,但它在 ANDROID 6 上无法正常工作(我刚刚测试过)。
不要使用android:popupBackground="@null"
,而是使用android:popupBackground="@android:color/transparent"
(它也适用于Android 4.4 和5.0)。
【讨论】:
【参考方案3】:我最终做的是使用 ListView
手动创建自动完成。
花了一些时间,但现在我有了我心中的确切设计。
【讨论】:
【参考方案4】:使用 android:popupElevation="0"
<AutoCompleteTextView
android:id="@+id/actvSearch"
android:layout_
android:layout_
android:layout_alignParentTop="true"
android:layout_marginBottom="8dp"
android:background="@drawable/full_width_input"
android:completionThreshold="1"
android:hint="Search a movie..."
android:textColorHint="#BDBDBD"
android:popupElevation="0dp"
android:popupBackground="@android:color/white" />
【讨论】:
以上是关于从 AutoCompleteTextView 下拉列表中删除阴影的主要内容,如果未能解决你的问题,请参考以下文章
android AutoCompleteTextView 白色上的白色下拉列表
在AutocompleteTextview的下拉列表中自定义分隔符/分隔符
AutoCompleteTextView - 我正在使用autocompletetextview,它显示来自API的值(返回名称和代码)